我正在尝试使用 python 调用 Word 宏。我试图采用用于通过python运行Excel vba宏的逻辑(有很多关于如何通过python运行Excel宏的示例,但我没有找到任何word)。这是我尝试使用的代码。但是我得到的是 pyhton 永远运行,我不知道为什么。我究竟做错了什么?感谢任何愿意帮助我的人!
这是我的尝试:
import os
import comtypes.client
path=r"path to my folder containing file.docx"
word=comtypes.client.CreateObject("Word.Application")
docx=word.Documents.Open(path, ReadOnly=1)
docx=word.Application.Run("My_Macro_Name")
word.Documents(1).Close(SaveChanges=0)
word.Application.Quit()
wd=0
Run Code Online (Sandbox Code Playgroud)
我也试图更好地指定我的 vba 宏的位置(我将它保存在 .docm 文件中),但仍然没有结果。Python 继续运行而不显示任何结果。这是我的尝试(感谢您到目前为止提供的有用建议!):
import os
import comtypes.client
path=r"path to the .docm file where I saved the vba macro"
word=comtypes.client.CreateObject("Word.Application")
word.Documents.Open(path,ReadOnly=1)
word.Run("Project.Modulo1.ConvertDoc")
word.Documents(1).Close(SaveChanges=0)
word.Application.Quit()
wd=0
Run Code Online (Sandbox Code Playgroud)