首页 文章

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

提问于
浏览
3

这是我第一次使用它,所以要善待:)基本上我的问题是我正在制作一个程序,打开许多Microsoft Word 2007文档并从该文档中的某个表读取并将该信息写入excel文件1000字的文档 . 我有所有这些工作,但唯一的问题,当我运行我的代码它没有关闭MSword后打开每个文档我必须在程序运行结束时通过打开单词并从主菜单中选择退出单词选项手动执行此操作 . 另一个问题是,如果在第二次运行中连续运行该程序,无论选择哪个文档,它都会重复打印相同的内容我认为这可能与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

3 回答

  • 1

    我认为你最后需要 MSWord.Quit (之前和/或代替del)

  • 0

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

    MSWord.Documents.Close
    

    相当于:

    getattr(MSWord.Documents, "Close")
    

    即你只是得到一些方法对象而不做任何事情 . 您需要使用 call operator (括号:)调用该方法:

    MSWord.Documents.Close()
    

    因此 .Quit .

  • 1

    在你的MSWord.Quit之前你尝试使用:

    MSWord.ActiveWindow.Close
    

    或者更简单的做法

    MSWord.Quit
    

    如果您正在尝试关闭文档或应用程序,我真的不明白 .

相关问题