[英]Python Script to Automate Refreshing an Excel Spreadsheet
我想自动刷新我的 excel 文件。 目前我的代码并不完全令人满意,因为 Excel 每次都要求我单击“取消”或“确定”。 我的 Excel 文件中有两张工作表。
这是python代码:
import win32com.client as win32
Xlsx = win32.DispatchEx('Excel.Application')
Xlsx.DisplayAlerts = True
Xlsx.Visible = True
book = Xlsx.Workbooks.Open('C:/Test_Excel/Essai_1.xlsx')
# Refresh my two sheets
book.RefreshAll()
book.Save()
book.Close()
Xlsx.Quit()
del book
del Xlsx
如何在 Excel 不问我任何问题的情况下自动刷新 Excel 文件。
谢谢
尝试将Xlsx.DisplayAlerts = True
设置为Xlsx.DisplayAlerts = False
,这应该可以解决问题。
refreshall() 是一个异步函数,因此您需要等待它完成才能执行其他任何操作。 您可以使用 Xlsx.CalculateUntilAsyncQueriesDone() 来完成此操作。
import win32com.client as win32
Xlsx = win32.DispatchEx('Excel.Application')
Xlsx.DisplayAlerts = True
Xlsx.Visible = True
book = Xlsx.Workbooks.Open('C:/Test_Excel/Essai_1.xlsx')
# Refresh my two sheets
book.RefreshAll()
Xlsx.CalculateUntilAsyncQueriesDone()# this will actually wait for the excel workbook to finish updating
book.Save()
book.Close()
Xlsx.Quit()
del book
del Xlsx
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.