如果出现消息框,Excel VBA如何自动接受

我正在运行一个macros,每分钟刷新导入的数据。 数据是从URL中获取的,但有时由于连接不好而无法打开。

然后出现一个消息框:

“无法打开http:…”

我必须点击确定才能继续。

它并不总是这样做的,因为它大多可以访问数据,但是因为这需要在后台全天运行,所以我不能全天候地观看它,点击确定并继续。

无论如何,我可以编辑的代码,包括像这样的东西:

If MsgBx appears Sendkeys ~ (enter) 

我曾尝试DisplayAlerts = False哪个不起作用。 而且没有办法改善连接以防止出现错误。

如果它不能访问数据,我只想让它离开它,继续前进,并在下一分钟批次中再次尝试。

花了几年search这些论坛,并没有find答案的任何地方。 任何想法非常赞赏。 谢谢

您应该尝试使用error handling直接捕获错误:

将此行放在代码的顶部:

 On Error GoTo ErrHandler 

而最后,这些End Sub

  Exit Sub ErrHandler: Select Case Err.Number Case Is <> "1004" MsgBox "Error number - " & Err.Number & vbCrLf & Err.Description Case Else Application.Wait Now + TimeValue("00:00:05") Resume Goto Retry End Select