我尝试了一个简单的测试,使用“xlwings_0.3.4”打开一个excel.xltm文件并再次保存它,以确保VBA模块被保留下来。我不能让它工作。在
如果在保存步骤中指定了文件扩展名,则该文件将另存为.xlsx文件。该模块随附在一起,但随着扩展名的更改,它不能被识别为有效的VBA模块。如果不指定文件扩展名,它将自动另存为.xlsx:WB=xlwings.Workbook('template.xltm')
WB.save('outfile')
WB.close()
这给出了一个xlsx文件。在
尝试将文件设置为xlsm会生成错误:
^{pr2}$
将生成错误:xl_workbook.SaveAs(path)
File "", line 7, in SaveAs
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, u'Microsoft Excel', u'This extension can not be used with the selected file type. Change the file extension in the File name text box or select a different file type by changing the Save as type.', u'xlmain11.chm', 0, -2146827284), None)
这似乎是GetActiveObject('Excel.Application')返回的应用程序对象固有的。在
有没有一个开关(比如openpyxl中的'keep_VBA=True'开关?),还是不能用xlwings保存xlsm文件?在