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

Loo*_*ker 4 excel vba excel-vba

我所做的只是将一段代码复制粘贴到一个不同的子代码中,并完成我的新子代码并更改我想要导航的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,没有别的.我最好的办法是关闭我的工作簿并重新打开它,但问题仍然存在.您可以提出的任何提示,解释或解决方案将不胜感激.

var*_*ant 6

这可能与IE中的安全设置有关.正如@ Vigneshts88 在这里所建议的那样,尝试改变

Set ie = New InternetExplorer 
Run Code Online (Sandbox Code Playgroud)

至:

Set ie = New InternetExplorerMedium
Run Code Online (Sandbox Code Playgroud)

正如@Mike在上面的答案中的评论所指出的,InternetExplorerMedium需要参考Microsoft Internet Controls