IT Knowledge Base

~ Without sacrifice, there can be no victory ~

發佈日期:

分類:

,

如何解決Microsoft Word VBA中‧Compile error: Can’t find project or library的錯誤

01. 同事今天又帶來了一個有趣的問題,Microsoft Word 2010中設有巨集,在其自己電腦中執行是沒有問題的,但當檔案在其他電腦中執行時(都是Microsoft Word 2010),便會出現Compile error: Can’t find project or library錯誤。

02. 而錯誤位置,是出現在下面這一行。

sCode = Left(ActiveDocument.FormFields("Dropdown").Result, 4)

03. 一句很簡單的執行句子,就是取出內容最左邊的4個字串。

04. 執行:

msgbox(ActiveDocument.FormFields("Dropdown").Result)

結果是能正常的顯示當中內容。

05. 考慮會不會是出來的是數字,因而最左邊的4個字串出現問題。執行:

msgbox(format(ActiveDocument.FormFields("Dropdown").Result))

結果是能正常的顯示內容。

06. 總結是,終之一加上Left()函數就會出現Compile error: Can’t find project or library錯誤。

07. 上網尋找解決方案,有的說是欠了載入Library,加了便可解決問題。但人家那個是Microsoft Excel,今天的是Microsoft Word。

08. 最後發現問題真的出在Left()函數內。

將:
sCode = Left(ActiveDocument.FormFields("Dropdown").Result, 4)
更改為:
sCode = VBA.Left(ActiveDocument.FormFields("ARCDropdown2").Result, 4)

09. 再執行時便不會再出現錯誤。似乎問題在於,VBA執行時不能確認LEFT函數是VBA的函數,需要加上VBA.Left,令其能辨認其為VBA內的函數。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *