打开excel安全模式win32com - python 2.7

时间:2018-02-09 12:20:58

标签: python excel win32com

我正在使用python运行一个程序,它将打开一个启用宏的excel文件,该文件使用COM对象从应用程序捕获实时数据。我经常遇到Excel崩溃错误(当我运行工作超过两三次时发生)。我浏览了网页,发现这可能是因为添加了安装到我的excel文件的内容,我按照说明从excel中删除了添加内容但仍然有问题。我正在使用win32com打开excel文件,这是我正在使用的代码。我是python的新手,请分享您的意见以改进此代码并解决此问题。

excel = win32.gencache.EnsureDispatch('Excel.Application')

wb = excel.Workbooks.Open(excel, r'C:\\pynow_futu.xlsm')

win32api.Sleep(5000)

ws = wb.Worksheets('fut')
excel.Visible = True
excel.DisplayAlerts = False
for wb in excel.Workbooks:
    ws = wb.Worksheets('fut')
    if wb.Name == 'pynow_futu.xlsm':
        print("WB:", str(wb.Name))
        wb.DoNotPromptForConvert = True
        wb.CheckCompatibility = False
        filename = "C:\\futu.csv"
        win32api.Sleep(2000)
        wb.SaveAs(filename,FileFormat=24, ConflictResolution=2)
        win32api.Sleep(1000)
        wb.Close(True)

1 个答案:

答案 0 :(得分:0)

excel文件崩溃了,因为前一次运行的子进程很少仍然处于活动状态,并且它停止打开新文件,因此崩溃了。通过杀死子进程来修复它