覆盖内置错误消息的Excel

关于我以前的问题 ,我试图从数据>连接捕获连接错误。

我添加了一个testing连接来检查我的代码是否工作正常,但是,当刷新连接时,会出现一个内置的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 

无论出于何种原因,我都可以“回答”,而不是评论 – 取决于您打开的网站数量,您可以投入一个计时器循环,基本上会暂停,直到您可以断定您的网页已加载 – 如果在分配的时间内你可以跳到一个错误,如果有,你可以退出该循环。

这里的负面影响实质上只是减慢了你的运行时间,但是你的时间循环不需要超过一秒钟或者两秒钟。

VBA Internet Explorer等待网页加载

我正在寻找一个更相关的答案,并遇到这个问题:

等到ActiveWorkbook.RefreshAll完成 – VBA