从python运行时如何忽略Excel VBA错误(对话框)

时间:2018-06-21 14:39:38

标签: python excel win32com

我有一个使用win32com在Excel文件上运行VBA宏的python脚本。 问题在于,如果VBA宏中存在异常,Excel将打开并显示一个对话框,要求用户继续。

这将阻止其余的python执行,直到用户回答对话框为止。

Error shown to the user

由于我的应用程序将在服务器上运行以生成多个Excel文件,因此不会有用户关闭该对话框。

出现错误时如何忽略Excel对话框,以便我的应用程序可以继续运行?

这是我的python代码:

import comtypes
comtypes.CoInitialize()

import win32com.client
excel = win32com.client.DispatchEx("Excel.Application")
excel.DisplayAlerts = False
wb = excel.Workbooks.Open(Filename=excel_file)

try:
    excel.Run('ReportModule.Compute')
    wb.Save()
except Exception as e:
    logging.error('Failed to run macro for {}.'.format(excel_file))
    logging.error(e, exc_info=True)

excel.Quit()

0 个答案:

没有答案