可能的错误? 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.')