1. 程式人生 > >VBA 自動關閉 彈出的對話框 + VBA錯誤捕捉

VBA 自動關閉 彈出的對話框 + VBA錯誤捕捉

bms 運行 自動 ext format UNC ali 結束 bye

自動關閉 Msgbox對話框:

Private Declare Function MsgBoxEx Lib "user32" Alias "MessageBoxTimeoutA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As VbMsgBoxStyle, ByVal wlange As Long, ByVal dwTimeout As Long) As Long

 Private Sub 測試自動關閉對話框()
    MsgBoxEx 0, "顯示內容:2秒後自動關閉", "標題", vbYesNo + vbInformation, 1, 2000
 End Su

錯誤捕捉:

例子一:

On Error Resume Next  ‘如果遇到錯誤,不管錯誤,繼續往下執行,但如果嵌套了其他錯誤處理語句,這些錯誤處理語句還是會按照自己規則運行
      語句xxxx
On Error GoTo 0 ’結束錯誤捕捉

例子二:

Sub 例子過程()  

    On Error GoTo Err_Handle                 ‘之後語句出錯則跳轉至 Err_Handle 標簽處

             處理語句1                                        ‘若出錯,則跳轉到 Err_Handle

     On Error GoTo 0                             ‘跳出錯誤捕捉,之後語句若出錯,自動彈出出錯框  
             處理語句2                                   ‘若出錯則彈出錯誤,可調試或結束

       Exit Sub   ‘如果沒有這個退出過程語句,會一直執行下去
Err_Handle:
        MsgBox ("不存在該數字")

End Sub

VBA 自動關閉 彈出的對話框 + VBA錯誤捕捉