首页 > 解决方案 > 有没有办法在 MacOS 中使用 Python 在 MS Word 文档上运行 VBA 宏?

问题描述

长期倾听者,第一次来电者。

我正在尝试找到一种在 MacOS 中使用 Python 在 Word 文档上运行 VBA 宏的方法。到目前为止,我的搜索已经找到了许多解决方案,可以勾选其中 2-3 个框,但没有一个可以勾选所有 4 个。我找到的最接近的是下面的代码(来自这个 SO question):

import os
import comtypes.client

path=r"MyMacro.docm"

word=comtypes.client.CreateObject("Word.Application")
word.Documents.Open(path,ReadOnly=1)
word.Run("'MyDocument.docx'!ThisModule.ThisProcedure"))
word.Documents(1).Close(SaveChanges=0)
word.Application.Quit()
wd=0

不幸的是,这使用comtypes,这是仅限 Windows 的。

我最终要在这里解决的问题是将条件着色应用于 Word 文档中的表格单元格,该文档是在 MacOS 机器上使用 Python 的 docx-mailmerge 包生成的。我已经有一个可以手动完成的 VBA 宏,我只是想弄清楚这是否可以自动化。

标签: pythonvbamacosms-word

解决方案


推荐阅读