对象“IWebBrowser2”的Excel VBA“方法”文档“失败”

我试图在Excel中自动完成表单提交工作,并在基础知识中遇到困难。 我不断收到错误消息:

“对象”IWebBrowser2“的方法”文档“失败”

代码是这样的,如果我在等待检查中包含Or部分,我得到错误

“自动化错误被调用的对象已从其客户端断开连接”。

我不确定在这里做什么,我已经search了解决scheme。 这段代码的目的是最终做的比这更多,但是它在getElementsByTagName的第一次尝试中保持失败。

 Sub GoToWebsiteTest() Dim appIE As Object 'Internet Explorer Set appIE = Nothing Dim objElement As Object Dim objCollection As Object If appIE Is Nothing Then Set appIE = CreateObject("InternetExplorer.Application") sURL = *link* With appIE .Visible = True .Navigate sURL End With Do While appIE.Busy ' Or appIE.ReadyState <> 4 DoEvents Loop Set objCollection = appIE.Document.getElementsByTagName("input") Set appIE = Nothing End Sub 

我碰到了同样的问题。 使用中等完整性级别的Internet Explorer。 InternetExplorer的默认值是一个较低的完整性级别,如果您正在通过本地Intranet工作,有时会显示上面显示的第二条错误消息。 点击这里阅读更多。 我修改了下面的代码。 请让我知道,如果有帮助。

 Sub GoToWebsiteTest() Dim appIE As InternetExplorerMedium 'Set appIE = Nothing Dim objElement As Object Dim objCollection As Object Set appIE = New InternetExplorerMedium sURL = "http://example.com" With appIE .Navigate sURL .Visible = True End With Do While appIE.Busy Or appIE.ReadyState <> 4 DoEvents Loop Set objCollection = appIE.Document.getElementsByTagName("input") Set appIE = Nothing End Sub 

请记住Microsoft Internet控件的参考,并根据您计划进一步的操作,Microsoft HTML对象库

不完全一样的上面的代码,但以某种方式类似,下面的代码解决了我的问题:

 Do Loop Until ie.readystate = 3 Do Loop Until ie.readystate = 4 

只要把它放在你想开始处理内容的行之前。 要获得更多关于它如何工作的信息,你可以在这里查看

下面的方法解决了我的问题,这个错误:通过“任务pipe理器”closures所有的资源pipe理器实例,并尝试运行它将工作的代码。