这是我第一次使用这个所以请客气:)基本上我的问题是我正在制作一个程序打开许多 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/