禁用“无法打开. 无法找到 Internet 服务器或代理服务器”错误

禁用“无法打开. 无法找到 Internet 服务器或代理服务器”错误

我在 Excel 2003 中遇到了这个问题,但也许在早期版本中也存在这个问题。

我有一个 Excel 电子表格,它使用网络查询导入数据,该查询连接到我公司服务器中托管的网页。数据每天都在变化,URL 也是如此,因此我有一个宏来处理 URL 变化并每小时自动刷新所有数据。

它运行正常,但有时公司的服务器会崩溃。当我的宏尝试连接到服务器时,服务器却崩溃了,就会出现以下消息框:“无法打开。无法找到 Internet 服务器或代理服务器”。每当发生这种情况时,Excel 都会停止宏,直到我手动单击“接受”按钮,它才会继续。这是一个大问题,因为数据必须不断更新。

我寻找了很多方法来解决这个问题。我尝试在宏的顶部添加一个错误处理程序“Application.DisplayAlerts = False”,我也这样做了,但无济于事。

这是我的代码:

Sub ChangeURL()
    Application.DisplayAlerts = False
    On Error Resume Next
    Dim NewURL As String
    Dim Today As String
    'M1 contains today's date formatted as text
    Today = Range("M1").Value
    NewURL = "URL;http://www.example-url.com/data/date=" & Today
    'Change the table's URL so it gets today's data
    With ActiveSheet.QueryTables(1)
        .Connection = NewURL
    End With
    ActiveWorkbook.RefreshAll
    'Re-execute the macro after an hour has passed
    Application.OnTime Now + TimeValue("01:00:00"), "Change", , True
    Application.DisplayAlerts = True
End Sub

有没有办法真正禁用这些消息框?

答案1

类似这样的方法也许能起到作用。

Sub MyMacro()

    code...code...code
    ....trying to connect....
    On Error GoTo ErrorHandler
    code...code...code
    Exit Sub

ErrorHandler:
    . . .
    Resume <or Exit Sub>
    . . .

End Sub

从:https://support.microsoft.com/en-us/kb/141571

相关内容