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

时间:2015-08-04 09:31:08

标签: excel vba excel-vba internet-explorer

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

然后会出现一个消息框:

  

“无法打开http:...”

我必须单击“确定”才能继续。

它并不总是这样做,因为大多数情况下它可以访问数据,但由于这需要在后台全天运行,我无法全天候观看它,点击确定并保持运行。

无论如何,我可以编辑代码以包含以下内容:

If MsgBx appears
Sendkeys ~ (enter)

我尝试了DisplayAlerts = False这不起作用。 并且没有办法改善连接以防止错误发生在首位。

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

花了很长时间搜索这些论坛并且没有在任何地方找到答案。 任何想法都非常感激。 感谢

1 个答案:

答案 0 :(得分:0)

您应该尝试使用错误处理直接捕获错误:

将此行放在代码顶部:

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