我有一些 Word VBA 代碼應該創建一個 Msxml2.DOMDocument 物件并將一個 Xml 檔案加載到其中,如下所示:
Set XDoc = CreateObject("MSXML2.DOMDocument")
XDoc.async = False: XDoc.validateOnParse = False
XDoc.Load (XmlFileName)
這段代碼在我的計算機上完美運行,但是當我嘗試在同事計算機上運行它時,Load 方法失??敗(回傳 False 并且不加載資料)。
我嘗試通過將第一行代碼更改為從 MSXML 3.0 切換到 MSXML 6.0
Set XDoc = CreateObject("MSXML2.DOMDocument60")
以及更改專案對 v6.0 的參考。這導致代碼根本無法創建物件,并給出錯誤訊息“運行時錯誤 429:ActiveX 組件無法創建物件”。
我還嘗試為兩個 MSXML 版本重新注冊 .dll 檔案,但沒有任何效果。
如果有人可以向我解釋什么可能導致代碼在我的機器上運行而不是在其他機器上運行,或者我如何解決 v3.0 或 v6.0 的相應錯誤,將不勝感激。
uj5u.com熱心網友回復:
我弄清楚是什么導致了這個問題。我試圖加載的 XML 檔案位于一個 zip 檔案中,在加載它之前,我必須使用模式匹配找到它的名稱。我的同事計算機未選中“檔案擴展名”復選框,因此 VBA 讀取的檔案名與包含 .xml 擴展名的所需模式不匹配。在我選中復選框后,它作業得很好。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/492546.html
