这个问题在这里已有答案:
我在使用xlwings从Python运行宏时遇到了问题 . 尽管遵循了xlwings文档中的代码,但我无法让xlwings执行Excel宏 . 例如,在名为“Book.xlsm”的Excel工作簿中:
' in Excel workbook Book.xlsm
Sub Test()
Set ws = Worksheets("ABC")
ws.Range("A1").Value = 10
End Sub
此宏在Excel中运行正常 . 但是当我尝试从Python调用此模块时,它失败了:
# in Python
import xlwings
wb = xlwings.Book('C:\\Book.xlsm')
wb.macro('Test')
print('done.')
没有错误消息 . Python代码只是运行和结束,打印消息“完成” . 但是当我检查工作表ABC时,没有写任何内容 . 请注意我能够连接到此工作簿并使用xlwings更改单元格值 . 我只是无法让它运行Test宏 .
另请注意,之前我使用了更旧的xlwings(我认为在0.7.0之前)并且它运行我的宏没有任何问题 . 我现在正在使用0.10.0版本 .
1 回答
请尝试以下方法:
In VBA :
In python: