如果出现消息框,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