2012-08-06 64 views
1

我正在使用Python在Excel中運行宏。我想讓Python關閉excel。宏在excel中刷新數據連接可能會很慢。如何使python等待Excel宏/刷新完成

如何讓python等到刷新完成關閉。這是我正在使用的,我需要的東西之前的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() 

等待方式可以使這項工作?

回答

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

如何使用Python的win32com模型將背景刷新設置爲False? – wardw123 2015-12-16 19:06:26