关于我的previous question,我试图从Data>中捕获连接错误连接。
我添加了一个测试连接以检查我的代码是否正常工作,但是,刷新连接时,会出现一个内置的Excel对话框:
无论如何都要使用自定义MsgBox覆盖此对话框,如下所示:
Dim cn As WorkbookConnection
On Error GoTo ErrorHandler:
For Each cn In ActiveWorkbook.Connections
cn.Refresh
Next
'On Error GoTo 0
Exit Sub
ErrorHandler:
MsgBox "A connection could not be reached" & ": " & cn.name & ": " & cn.Description
最新编辑:这是我的代码目前的样子 -
Dim cn As WorkbookConnection
Application.DisplayAlerts = False
For Each cn In ActiveWorkbook.Connections
cn.Refresh
On Error GoTo ErrorHandler:
Next
'On Error GoTo 0
Exit Sub
Application.DisplayAlerts = True
ErrorHandler:
MsgBox "A connection could not be reached" & ": " & cn.name & ": " & cn.Description
答案 0 :(得分:0)
无论出于何种原因,我都可以回答'但不是评论 - 取决于您打开多少个网站,您可能会抛出一个基本上暂停的计时器循环,直到您可以断定您的网页已经加载为止 - 如果在规定的时间内它没有你可以跳转到错误,如果有,你可以退出该循环。
这里的否定基本上只会减慢你的运行时间,但你的时间循环不需要超过一两秒。
VBA Internet Explorer wait for web page to load
我正在寻找一个更相关的答案,并且发现了这个: