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)
要创建下一个表格,我应该怎么设置rng?我该如何设置我的Range对象?有没有相关的教程?
另外,我该怎么正确关闭和保存它?我用了:
filename = "CPM Production FAT Procedures.docx"
md.SaveAs(filename)
但每次这样做都会增加文档的编号。
谢谢,
1 个回答
1
win32com
是微软的 COM API 的一个封装工具。你调用的所有函数和属性都是 Word 的 COM API 的一部分。你可以在这里找到这个 API 的详细文档:
你可能会发现这篇文章 使用范围对象 对你特别有帮助。
所有的示例都是用 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)
至于你提到的保存问题,我无法重现这个问题。如果我不断用同一个文件名保存,我看到的都是同一个文件被覆盖。