2013-10-11 52 views
2

我想用COM/pywin32來創建一個自動的和不可見的Excel進程,它與當前運行的不同。用COM創建新的Excel進程(pywin32)

如果我使用下面的代碼,而Excel窗口已經打開,它將使前者不可見。我認爲這是因爲它只是訪問相同的過程。

from win32com.client import Dispatch 
excel = Dispatch('Excel.Application') 
excel.Visible = False 
excel.WorkBooks.Open('C:/someFile.xls') 

我之所以需要這個,是因爲我想湊背景不同的Excel文件,而不會影響當前的工作。另外,我不知道如何關閉其中一個進程。

如果你打算建議一個新的庫,我也想知道如何在COM中處理這個問題。

回答

4
excel = win32.DispatchEx('Excel.Application') 

如果你還婉操縱Excel文件嘗試

+0

工作就像一個魅力!謝謝。 – TimY

+0

關於DispatchEx的小警告:雖然這確實創建了一個新的Excel進程,但它並不保證該進程仍然是孤立的。例如:如果您通過Windows資源管理器打開了一個excel文件,仍然可能會重複使用DispatchEx打開的過程。 AFAIK,沒有真正的方法來防止這種情況。 – Steven