我曾经使用这个问题中的信息来运行一个VBA脚本,它在运行我的python代码后执行一些基本的格式化 .
具体来说我使用了第一次更新 .
from xlwings import Workbook, Application
wb = Workbook(...)
Application(wb).xl_app.Run("your_macro")
现在我正在使用xlwings的v0.10.0,这段代码不再有效 .
当我尝试v0.10.0的建议新代码时:
wb.app.macro('your_macro')
Python返回一个对象:
我的宏不在Excel中运行 .
文档(http://docs.xlwings.org/en/stable/api.html#xlwings.App.macro)有一个自定义函数的例子,但我有一个脚本可以在Excel中执行多项操作(格式化我从python输出的数据,在工作表中添加一些公式等),我想运行它 .
我确定我在这里缺少一些基本的东西 .
Update 根据Felix Zumstein的建议,我试过:
import xlwings as xw
xlfile = 'model.xlsm'
wb = xw.Book(xlfile)
wb.macro('your_macro')
这返回与wb.app.macro('your_macro')相同的内容:
并且没有在Excel中运行VBA脚本 .