Python - pywin32 - 将插入点移动到第一个表的后面

时间:2014-07-21 14:52:48

标签: python pywin32

我使用python pywin32包生成了我的第一个表。我想在第一个之后添加另一个表。任何人都可以帮助我吗?

创建第一个包含6行和4列的表:

from win32com.client import Dispatch,constants
mw = Dispatch('Word.Application')
mw.Visible = 1
md = mw.Documents.Add(Template = MYDIR + '\\Template for tests.docx')
rng = md.Range(0,0)
tabletu = md.Tables.Add(rng,6,4)

要创建下一个表,应该是什么?我怎么能设置我的Range对象?关于那个的任何教程? 我怎么能正确关闭并保存它?我用过:

filename = "CPM Production FAT Procedures.docx"                                   
md.SaveAs(filename)

但每次增加文件编号。

谢谢,

1 个答案:

答案 0 :(得分:1)

win32com只是Microsoft COM API的包装器。您调用的所有函数和属性都是COM API for Word的一部分。您会发现此处广泛记录了API:

在这种情况下,您可能会发现文章Working with Range Objects特别具有启发性。

所有示例都将在VB中,但阅读Python / win32com是非常简单的。

对于您的特定问题,以下内容应该有效:

rng = md.Range(md.Content.End-1, md.Content.End)
md.Paragraphs.Add(rng)
rng = md.Range(md.Content.End-1, md.Content.End)
another_table = md.Tables.Add(rng,6,4)

至于你的保存问题,我无法重现这个问题。如果我使用相同的文件名重复保存,我会看到相同的文件被覆盖。