我正在使用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)
答案 0 :(得分:0)
excel文件崩溃了,因为前一次运行的子进程很少仍然处于活动状态,并且它停止打开新文件,因此崩溃了。通过杀死子进程来修复它