相关疑难解决方法(0)

Failproof等待IE加载

是否有一种万无一失的方式让脚本等到Internet Explorer完全加载?

两者oIE.Busy和/或oIE.ReadyState都没有按照他们应该的方式工作:

Set oIE = CreateObject("InternetExplorer.application")

    oIE.Visible = True
    oIE.navigate ("http://technopedia.com")

    Do While oIE.Busy Or oIE.ReadyState <> 4: WScript.Sleep 100: Loop  

    ' <<<<< OR >>>>>>

    Do While oIE.ReadyState <> 4: WScript.Sleep 100: Loop
Run Code Online (Sandbox Code Playgroud)

还有其他建议吗?

vbscript internet-explorer wsh readystate web-scraping

7
推荐指数
1
解决办法
5万
查看次数

获取InternetExplorer对象的ReadyState时出现自动化错误

我在同一行上得到两个不同的错误.有时候这个:

自动化错误:调用的对象已与其客户端断开连接

而有时:

界面未知

重现错误的最小代码:

Sub mcve()
    Dim ie As Object
    Dim www As String
    Set ie = New InternetExplorerMedium
    www = "http://www.stackoverflow.com"
    ie.navigate www
    ie.Visible = False
    While ie.ReadyState <> 4    ' <~~~~~~~~~~~~~~~~~~~~~~~~ Error occurs here
        DoEvents
    Wend
End Sub
Run Code Online (Sandbox Code Playgroud)

这需要一个参考:工具>参考...> Microsoft Internet Controls

While ie.ReadyState <> 4第二次发生错误.我该如何解决?

excel internet-explorer vba excel-vba

6
推荐指数
2
解决办法
2万
查看次数

自动化错误:调用的对象已与其客户端断开连接

我所做的只是将一段代码复制粘贴到一个不同的子代码中,并完成我的新子代码并更改我想要导航的URL.第一个子仍然有效,但第二个没有.我很难过.

Dim ie As InternetExplorer              
Dim html As HTMLDocument                 
Set ie = New InternetExplorer            
ie.Visible = False                       
ie.navigate "http://cesp.hma.eu/Contacts" 
With ie                                  
    Do Until .READYSTATE = 4: DoEvents: Loop
    Do While .Busy: DoEvents: Loop
End With
Set html = ie.document             
Set ie = Nothing                   
Application.StatusBar = ""  
Run Code Online (Sandbox Code Playgroud)

使用F8逐步检查代码,似乎URL忽略了ie.Visible = False(当我到达时它打开With ie),然后弹出错误Do While .Busy: DoEvents: Loop

老实说,我不知道从哪里开始寻找解决这个问题,因为我从字面上只改变了URL,没有别的.我最好的办法是关闭我的工作簿并重新打开它,但问题仍然存在.您可以提出的任何提示,解释或解决方案将不胜感激.

excel vba excel-vba

4
推荐指数
1
解决办法
1万
查看次数

VBA Internet Explorer 自动化“权限被拒绝”

Dim IE as New InternetExplorer
IE.Visible = True

IE.Navigate("http://www.google.com")

Do Until IE.Busy = False
Loop

IE.document.getElementsByTagName("Input")(3).Value = "Search Term"

IE.document.Forms(0).Submit     <------ This line results in error.
Run Code Online (Sandbox Code Playgroud)

错误状态运行时错误 70:“权限被拒绝”

请不要建议更改代码。代码没有任何问题。此宏适用于 10 台计算机中的 9 台。这不是时间问题(即使我手动执行,我仍然会收到错误消息)。我知道还有其他方法可以声明 Internet Explorer 对象。我试过使用 CreateObject 和所有这些东西。这都不重要。以管理员身份运行也无济于事。

这只是问题的一个简单示例(我们实际上正在自动化更复杂的任务)。所以请不要问“为什么要进行goodle搜索?” 请不要问“你想做什么”。我需要解决这个问题。我不需要重新编写我的代码。

我们使用 Windows XP、Internet Explorer 7 和 Office 2003。某些原因导致随机人员无法自动化 Internet Explorer。不是用户问题,是电脑问题。我的意思是在罪魁祸首的计算机上,无论哪个用户登录,都没有人可以自动化。但同一个用户可以使用不同的计算机,一切都很好。因此,它可能是本地计算机上的注册表设置或类似的设置。这里所有的电脑都以相同的方式设置,相同的规格,相同的软件。

我用谷歌搜索和谷歌搜索,谷歌搜索和谷歌搜索。不幸的是,运行时错误 70 似乎是一个包罗万象的问题,许多用户报告了不同症状的错误。就我而言,我还没有找到解决方案,否则我不会在这里问。

我们可以解决它的唯一方法是让 IT 完全重新加载硬盘驱动器上的所有内容。干净的刷新,包括操作系统。这解决了问题,但也迫使用户将他们的机器重新设置为他们以前的方式,并重新安装所有软件和所有内容。这不是一个好的解决方案。机器上某处有一个设置会导致这种情况,否则刷新不会产生影响。我想知道那个设置是什么(我的感觉是它是一个注册表设置)。

任何帮助表示赞赏,谢谢。

automation vba shdocvw permission-denied internet-explorer-7

3
推荐指数
1
解决办法
2万
查看次数