我在让 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 代码运行并结束,打印消息“done”。但是当我检查工作表 ABC 时,什么也没有写。请注意,我可以使用 xlwings 连接到此工作簿并更改单元格值。我只是无法让它运行测试宏。
另请注意,我之前使用过更旧的 xlwings(我认为是 0.7.0 之前的版本),它运行我的宏没有任何问题。我现在使用的是0.10.0版本。
请尝试以下操作:
In VBA:
Sub Test(number)
Set ws = Worksheets("Hoja1")
ws.Range("A1").Value = number
End Sub
在Python中:
import xlwings as xw
wb1 = xw.Book('Libro1.xlsm')
macro=wb1.macro('Test')
macro(10)
print('done.')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)