所以我有一個函數,允許用戶通過電子郵件發送資產的更新圖片,工作正常,除非用戶在發送前關閉電子郵件。我設置了錯誤處理程序,但它似乎沒有捕獲錯誤。這裏是我的功能代碼:錯誤處理程序不能在函數VBA訪問2013
Function Email()
Globals.Logging "Opened Email for updating picture"
On Error GoTo ErrorHandler:
Dim strTagNumber As String
strTagNumber = Me.txtTagNumber.Value
Dim varName As Variant
Dim varCC As Variant
Dim varSubject As Variant
Dim varBody As Variant
varName = "[email protected]"
varCC = ""
varSubject = "Updated Picture for Asset Number " & strTagNumber
varBody = "Sent by MS Access"
DoCmd.SendObject , , , varName, varCC, , varSubject, varBody, True, False
Globals.Logging "Sent Email"
Cleanup:
varName = Nothing
varCC = Nothing
varSubject = Nothing
varBody = Nothing
Exit Function
ErrorHandler:
Select Case Err.Number
Case 2501
MsgBox "Email message was Cancelled."
Globals.Logging "Canceled Email"
Case Else
MsgBox Err.Number & ": " & Err.Description
Globals.Logging "Email Error " & Err.Number & ": " & Err.Description
End Select
Resume Cleanup
End Function
任何幫助,將不勝感激。先謝謝你。
如果你把它拿出來 - 'On Error GoTo ErrorHandler:'哪一行停止? – braX
有沒有錯誤可以追到?順便說一句,你在CleanUp中做的第一件事是'Exit Function'? –
如果用戶在發送之前關閉了電子郵件,那麼它只會引發錯誤,而錯誤處理程序是設計用來處理的。錯誤是運行時錯誤'2501'「SendObject操作已取消」。 –