如何在Python中使用pywin32运行个人工作簿宏?

时间:2016-03-14 17:59:38

标签: python excel excel-vba macros vba

我尝试使用0参数从Python运行个人工作簿宏。到目前为止,这是我的代码:

xl = win32com.client.Dispatch("Excel.application")
xl.Visible = 1

if os.path.isfile('delete_this_file.xlsx'):
    workbook = xl.Workbooks.Open('delete_this_file.xlsx')
else:
    workbook = xl.Workbooks.Add()
    workbook.SaveAs(os.getcwd() + '\\delete_this_file.xlsx')  

xl.Workbooks.Add("C:\\Users\\myusername\\AppData\\Roaming\\Microsoft\\Excel\\XLSTART\\PERSONAL.XLSB")
xl.Application.Run('LoopThruFiles')
xl.DisplayAlerts = 0
xl.Application.Quit()
del xl

但是Python回击了Windows错误:"无法运行宏' LoopThruFiles'。宏可能在此工作簿中不可用,或者可能禁用所有宏。"

但是,我已经启用了对VBA项目对象模型" Trust的访问权限。信托中心的复选框。

任何人都有这方面的经验吗?

1 个答案:

答案 0 :(得分:0)

xl.Application.Run('PERSONAL.XLSB!LoopThruFiles')

请参阅:http://www.rondebruin.nl/win/s9/win001.htm