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

时间:2015-07-29 15:35:49

标签: 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 = ""  

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

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

2 个答案:

答案 0 :(得分:6)

这可能与IE中的安全设置有关。根据@ Vigneshts88 here的建议,尝试更改

Set ie = New InternetExplorer 

为:

Set ie = New InternetExplorerMedium

正如@Mike在上述答案中的评论中指出的那样,InternetExplorerMedium需要引用Microsoft Internet Controls

答案 1 :(得分:0)

是的宝贝!

  

设置ie = New InternetExplorerMedium

为我修好了!

迫不及待地想把这些东西投入使用。