python - 使用 Python 退出 Word 文档时出现问题

标签 python excel ms-word ms-office

这是我第一次使用这个所以请客气:)基本上我的问题是我正在制作一个程序打开许多 Microsoft Word 2007 文档并从该文档中的某个表中读取并将该信息写入一个 excel 文件超过 1000 字的文档。我有所有这些工作,但唯一的问题是当我运行我的代码时它在打开每个文档后不会关闭 MSword 我必须在程序运行结束时通过打开 word 并从主菜单中选择退出 word 选项手动执行此操作。另一个问题是,如果在第二次运行时连续运行这个程序,一切都会变得糟糕,无论选择哪个文档,它都会重复打印同样的东西我认为这可能与 MSword 如何决定哪个文档处于事件状态有关,例如它是否仍在打开上次运行时未关闭的最后一个事件文档。无论如何,这是我的开头和结尾部分的代码,我不会让你们厌烦剩下的部分::

MSWord = win32com.client.Dispatch("Word.Application")
MSWord.Visible = 0
# Open a specific file
#myWordDoc = tkFileDialog.askopenfilename()
MSWord.Documents.Open("C:\\Documents and Settings\\fdosier" + chosen_doc)
#Get the textual content
docText = MSWord.Documents[0].Content
charText = MSWord.Documents[0].Characters
# Get a list of tables
ListTables = MSWord.Documents[0].Tables

------Main Code---------

MSWord.Documents.Close
MSWord.Documents.Quit
del MSWord

最佳答案

基本上,Python 不是 VBA,所以:

MSWord.Documents.Close

相当于:

getattr(MSWord.Documents, "Close")

即你只是得到一些方法对象而不用它做任何事情。您需要使用调用运算符(括号 :) 来调用方法:

MSWord.Documents.Close()

因此 .Quit

关于python - 使用 Python 退出 Word 文档时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6278973/

相关文章:

python - 导入数字 : No module named Numeric in F2PY 失败

python - 在没有列表突变的情况下通过 argmin() 或 min() 在 python/numpy 中查找前三个值的索引?

VBA 具有第二个条件的唯一值计数

Java 驱动程序类错误

java - 使用 Apache POI 和丰富文本 (HTML) 写入 docx

python - 如何从 perl 调用的 python 传递字符串?

python - 如何在Python中通过starts捕获组catch?

javascript - HTTP 状态 500 – 内部服务器错误,同时使用 esign genie api 在 vm 中下载 excel 文件

excel - 如何使用officejs在excel中显示范围选择输入对话框

c# - 使用 C# 将 word 文档转换为文本文档