我的excel有时会遇到问题。使用Python脚本刷新该数据:
try:
current_date = datetime.date.today()
deadline= datetime.date.today()+ timedelta(days=1)
current_date_delta = current_date+datetime.timedelta(days=1)
from win32com.client import Dispatch
Application = Dispatch("Excel.Application")
Application.Visible = 0
Application.DisplayAlerts = False
Workbook = Application.Workbooks.Open('\\\\files\\MY_FILE.xlsb')
Application.Run('Refresh')
Workbook.Save()
Workbook.SaveAs('\\\\files\\MY_FILE_UPD '+ str(current_date)+'.xlsb')
Workbook.Close()
Application.Quit()
except:
log_error()
然而, 这个脚本不会不时地工作(并不总是随机),因为它会产生错误。那么什么可能导致有时脚本工作,有时它不会? 当脚本运行时,其他人不会打开excel文件。
错误:root:2016.11.04 09.49回溯(最近一次调用最后一次):文件 “debts2.pyw”,第39行,in Application.Run('Refresh')文件“”,第14行,在运行文件中 “C:\ Anaconda \ lib \ site-packages \ win32com \ client \ dynamic.py”,第282行, 在 ApplyTypes 中 result = self。 oleobj .InvokeTypes(*(dispid,LCID,wFlags,retType,argTypes)+ args)com_error:( - 2147023170,'the remote 过程调用失败。',无,无)