這很奇怪 - 我發誓,我只是使用此代碼成功,但不是它不工作:計數(和激活)打開Word文檔
Sub t()
Dim wdApp As Object
Set wdApp = GetObject(, "Word.Application")
Debug.Print wdApp.Documents.Count
End Sub
從Excel中,它應該只是知道有一個Word文檔打開並返回1
。但是,出於某種原因我得到0
。我也試過Set wdApp = CreateObject("Word.Application").
我可以忽略什麼?沒有錯誤拋出,它只是沒有顯示我打開了一個文檔。
(注:我想到這個主意來自this thread,因爲我想複製一個Excel範圍並粘貼到Word文檔)
我會檢查你的任務管理器,看看你是否有一個殭屍Word進程運行。 – Comintern
@Comintern - Ooooooh,我有五個「WINWORD.EXE」正在運行。這隻適用於一個?編輯:是的,當我關閉所有四個殭屍並且只打開一個殭屍時它就起作用。感謝十億,這是一個(幸好)簡單的修復。如果你想做出答案,我會標記它。乾杯!! – BruceWayne
爲了您的特定目的,是的。 'GetObject'只能返回一個應用程序對象,所以它看起來像沒有打開文檔就會得到一個。如果有多個實例在運行,我不確定選擇哪一個。 – Comintern