可能的错误? xlwings无法运行Excelmacros?
我有一个问题让xlwings从Python运行一个macros。 尽pipe遵循xlwings文档中的代码,但我无法获得xlwings来执行Excelmacros。 例如,在名为“Book.xlsm”的Excel工作簿中:
' in Excel workbook Book.xlsm Sub Test() Set ws = Worksheets("ABC") ws.Range("A1").Value = 10 End Sub
这个macros在Excel中运行正常。 但是当我尝试从Python调用这个模块时,它失败了:
# in Python import xlwings wb = xlwings.Book('C:\\Book.xlsm') wb.macro('Test') print('done.')
没有错误信息。 Python代码只是运行并结束,打印消息“完成”。 但是当我检查工作表ABC时,什么都没有写。 请注意我能够连接到这个工作簿,并使用xlwings更改单元格值。 我只是不能让它运行testingmacros。
另外请注意,我以前使用过一个更老的xlwings(在0.7.0之前,我想),它运行我的macros没有问题。 我正在使用0.10.0版本。
尝试以下操作:
在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.')