如何让Python等待Excel宏/刷新完成

3

我正在使用Python运行Excel中的宏。我想让Python关闭Excel。该宏刷新Excel中的数据连接,这可能会很慢。

我应该如何让Python等待刷新完成后再关闭Excel?我需要在xl.Quit之前加入一些内容来等待宏中的刷新完成吗?

 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()

等待的方法有哪些可以让这个工作?

2个回答

1
你甚至不需要设置一个宏来运行此操作。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()

使用Python的win32com模块将后台刷新设置为False怎么样? - Ward W

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接