On Error文は実行中のプロシージャでエラーが発生した場合を想定し、指定した位置にプログラムの制御を移すことを目的に記述します。
On Error GoTo 行ラベル名
行ラベル名:
エラーが発生した場合処理される
エラー内容の確認にはErrオブジェクトを使用します。
オブジェクト名 | プロパティ | 内容 |
---|---|---|
Err | Number | エラー番号 |
Description | エラー番号に対応するエラー内容 | |
Source | 現在のプロジェクト名 | |
HelpFile | ヘルプファイル名 | |
HelpContext Number | ヘルプファイルに対応するコンテキスト番号 |
以下の例ではInteger型の変数iに文字列を代入しようとするためエラーとなります。
Sub Sample()
On Error GoTo ErrFunc
Dim i As Integer
Dim strErr As String
i = "aaa" '←ココで構文エラーとなる。
MsgBox "正常に終了しました。"
Exit Sub
ErrFunc:
strErr = "エラー番号:" & Err.Number & Chr(13)
strErr = strErr & "エラー内容:" & Err.Description & Chr(13)
strErr = strErr & "ヘルプファイル名" & Err.HelpContext & Chr(13)
strErr = strErr & "プロジェクト名:" & Err.Source & Chr(13)
MsgBox strErrMsg
End Sub