Vba 覆盖Excel内置错误消息

Vba 覆盖Excel内置错误消息,vba,excel,Vba,Excel,关于我的,我正在尝试从数据>连接中捕获连接错误 我添加了一个测试连接,以检查我的代码是否正常工作,但是,当刷新连接时,将出现一个内置的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

关于我的,我正在尝试从数据>连接中捕获连接错误

我添加了一个测试连接,以检查我的代码是否正常工作,但是,当刷新连接时,将出现一个内置的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时的
将钩住要在其中添加自定义错误消息的处理程序。@Jelly即使在注释错误转到0时,它仍会抛出上述内容。自定义消息错误代码?如果您确认上述消息,代码如何继续?连接通常有一个“在后台运行”属性:如果将该属性设置为False,它将同步运行。