繁体   English   中英

Excel VBA如何在出现消息框时自动接受

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM