对象“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理器实例,并尝试运行它将工作的代码。