我一直在運行一個查詢,現在正在從網頁獲取數據。經過多次運行後,它決定停止工作,並將問題追溯到ie.document對象 - 它永遠不會返回任何內容。VBA IE.Document空錯誤
編譯我的項目時,我發現即使在導航到網頁之前,ie的「Document」元素也會返回「應用程序定義或對象定義的錯誤」的錯誤。也有一些其他的元素也返回此錯誤 - 即「狀態文本」和「類型」
該鏈接包含我的錯誤的截圖: https://www.dropbox.com/s/wcxxep8my10nu8h/vba%20ie%20document.jpg?dl=0
在不這裏工作的縮減版本的情況下我只要我得到的代碼的「設置IE =新的InternetExplorer」部分運行
Sub getCard()
Dim ie As InternetExplorer
Dim url1 As String
url1 = "google.com"
Set ie = New InternetExplorer
ie.Visible = True
ie.Navigate url1
WaitBrowserQuiet ie
End Sub
Sub WaitBrowserQuiet(objIE As InternetExplorer)
Do While objIE.Busy Or objIE.ReadyState <> READYSTATE_COMPLETE
DoEvents
Loop
End Sub
代碼創建即對象的時候,我看到了錯誤。如果我碰巧導航到網頁,那麼ie.document對象是空的。
我搜索了四周,並嘗試了一些事情來阻止這種情況發生 - 重新啓動我的電腦,運行「ie.quit」和「Set ie = Nothing」,重置我的Internet Explorer等...似乎沒有任何工作。
這似乎可能是一個更深層次的問題,因爲即使在導航到網頁之前我收到錯誤消息。希望有人知道如何制止錯誤。
**早期綁定**會發生什麼?例如'Dim ie As New InternetExplorer' and remove the'Set ie = ...' – Jeeped
不幸的是,我還是得到了同樣的錯誤 - ie對象現在在運行「ie.Visible = True」行時變得可見,並且錯誤仍然存在。在導航url時,即使在通過ie.busy和ie.readystate條件之後,ie.Document仍然是空白的。 – brebbles