簡體   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