如何让python等到Excelmacros/刷新完成
我正在使用Python在Excel中运行macros。 我想让Pythonclosuresexcel。 macros在Excel中刷新数据连接可能会很慢。
我如何让python等待刷新完成closures。 这就是我正在使用的,我需要的东西之前的xl.Quit,将等待,直到macros的刷新完成?
import win32com.client import os xl = win32com.client.DispatchEx("Excel.Application") wb = xl.workbooks.open("X:\Backoffice\Options Trading\BloombergRate.xlsm") xl.Visible = True xl.run("Refresh") xl.Quit()
等待方式,我可以做这个工作?
编辑您的Refresh
macros以将QueryTable.BackgroundQuery
属性设置为False
。 这应该导致macros被阻塞,直到完成。
你甚至不需要build立一个macros来运行这个。 win32com有一个本地方法刷新所有数据连接。
import win32com.client import os xl = win32com.client.DispatchEx("Excel.Application") wb = xl.workbooks.open("X:\Backoffice\Options Trading\BloombergRate.xlsm") xl.Visible = True wb.RefreshAll() xl.Quit()