會員 | 【問題】在Excel巨集中等待或判斷word已開啟 各位好, 有一個問題請教各位 我用以下的程式碼在excel的巨集中呼叫word並開檔 Application.ActivateMicrosoftApp xlMicrosoftWord Set wdApp = GetObject(, "word.application") wdApp.documents.Open (vfilename) 第一行是啟動word,接著第二行是設定 wdApp為word的一個物件,但是當第一行執行完後接著第二行的過程中,也是是電腦速度的問題,word主程式還正在載入,但是第二行程式已經執行,就會發生錯誤:"ActiveX無法產生物件"。 所以想請教各位,是否有函數可以去檢查word是否已經啟動,把這樣的檢查程序放到第一行與第二行中間,確保程式不會出錯,我最初是用等待的函數去閃這個問題,但是考慮到可能每台電腦的效能不一,總不能設定個15秒在那裡等,所以希望有經驗的前輩可以指點指點,謝謝。 |
回覆 |
會員 | 回覆: 【問題】在Excel巨集中等待或判斷word已開啟 不用等待,不用判斷 Set wdApp = GetObject(, "word.application") wdApp.Documents.Open (vfilename) wdApp.Windows(1).Visible = True |
回覆 |
會員 | 回覆: 【問題】在Excel巨集中等待或判斷word已開啟 引用:
問題還是一樣,也許您誤會我的意思了 我目前卡在,使用GetObject()這個函數上,因為要先啟動Word,這個函數才會有效,所以錯誤碼會發生在 Set wdApp = GetObject(, "word.application") 錯誤發生候,後面兩行就不會執行... 不過還是很謝謝您的解說 | |
回覆 |
會員 | 回覆: 【問題】在Excel巨集中等待或判斷word已開啟 您試試以下兩者都行: Sub TEST1() Set wdApp = CreateObject("word.application") wdApp.Documents.Open (vfilename) wdApp.Windows(1).Visible = True End Sub Sub TEST2() Set wdApp = GetObject(vfilename) wdApp.Windows(1).Visible = True End Sub 您的程式碼Application.ActivateMicrosoftApp xlMicrosoftWord 已經激活了Word程式,又取一個空Word物件,其實已經重覆了動作吧? 此篇文章於 2007-01-23 08:18 AM 被 xxlandbank 編輯。. |
回覆 |
|
XML | RSS 2.0 | RSS |
本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。