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