win32com运行早期版本的excel宏

时间:2019-04-12 08:08:59

标签: excel python-3.x vba win32com

我在Python 3.7中有一个非常简单的程序,旨在将数据(pandas + cx_Oracle)修改到特定点并将其保存到excel。

最后一行是:

writer.save()
connection.close()

下一步是使用win32com在4个Python生成的工作簿上运行vba宏。

我的问题是我已经修改了宏(它在excel中工作得很好),但是Python仍然运行以前的版本,即使它没有保存在任何地方。宏存储在Personal.xlsb工作簿中。除最后的宏修改外,一切正常。

xl = win32com.client.Dispatch('Excel.Application')

workbook1 = xl.Workbooks.Open(Filename='path' + 'filename' + datetoday + 'filename.xlsx', ReadOnly=1)
xl.Application.Run('PERSONAL.XLSB!macro')
workbook1.Close(True)

xl.Application.Quit()
del xl

我希望Python能够运行正确的vba代码,但事实并非如此;)

0 个答案:

没有答案