使用PyWin32捕捉Excel警报

时间:2019-07-16 16:15:55

标签: python excel python-3.x pywin32

我正在尝试通过调用某些python代码的专有软件将.xls文件转换为.xlsx。

但是,我们通常面临的问题是不符合.xls标准的.xls文件,并在使用excel打开时引发警报。

我们希望在尝试打开这些文件时捕获到excel警报,而没有实际生成弹出窗口,因此我们可以继续操作,而不必与弹出窗口进行交互,并且文件将不会转换。

def xls_to_xlsx(input_file_full_path):
      fname = input_file_full_path
      excel = win32.gencache.EnsureDispatch('Excel.Application')
      excel.DisplayAlerts=False
      wb = excel.Workbooks.Open(fname)
      wb.SaveAs(fname+"x", FileFormat = 51)    #FileFormat = 51 is for .xlsx extension
      wb.Close()                               #FileFormat = 56 is for .xls extension
      excel.Application.Quit()
      return input_file_full_path+'x'

这是我们当前正在使用的代码,问题是,如果我们删除“ excel.DisplayAlerts=False”,则会弹出窗口。除了使excel弹出窗口外,还有其他处理警报的方法吗?

0 个答案:

没有答案