[英]Excel VBA how to automatically accept IF a message box appears
我正在运行一个宏,每分钟刷新一次导入的数据。 数据是从URL提取的,但是有时由于连接不良而无法打开。
然后出现一个消息框:
“无法打开http:...”
而且我必须单击“确定”才能继续。
它并不总是这样做,因为大多数情况下它可以访问数据,但是由于它需要在后台全天运行,因此我无法24/7全天候观看它以单击“确定”并保持运行。
无论如何,我可以编辑代码以包括以下内容:
If MsgBx appears
Sendkeys ~ (enter)
我试过了DisplayAlerts = False
这是行不通的。 并且没有改善连接的方法来防止错误的发生。
如果它无法访问数据,我只希望它保留它,继续前进,然后在下一个分钟内重试。
花了很长时间搜索这些论坛,却找不到任何答案。 任何想法表示赞赏。 谢谢
您应该尝试通过使用错误处理直接捕获错误:
将此行放在代码的顶部:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.