VBA-エラー処理
VBAエラー関連処理
On Error GoTo
実行時エラーの発生時にエラー処理をするにはOn Error GoToステートメントを利用します。
On Error GoTo ERR_PROC
'実行時エラーが発生する可能性のある処理
ERR_PROC:
'エラー時の処理
On Error Resume Next
途中でエラーの後も処理を続けたい時はOn Error Resume Nextを利用します。
On Error Resume Next
For i = 1 To 5
'エラーが発生しても次のステップで実行する。
func(i)
Next i
エラーを投げる。
実行時エラーを投げるにはErr.Raiseを使用します。
Err.Raise エラー番号, オブジェクト名, エラーメッセージ
引数は
エラー番号は0~512の値はシステムエラー用に予約されているため、ユーザー定義のエラーに使用できるのは「513~65535」の範囲で指定します。
オブジェクト名はエラーが発生した箇所などを文字列で記述します。
エラーメッセージを任意に記述します。
Err.Raise 513, "UpdateData", "Error message"
Errオブジェクト
Err.Number | エラーを指定する数値を設定します。 |
Err.Source | 最初にエラーを発生させたオブジェクトまたはアプリケーションの名前を示す文字列 (String) 式を設定します。 |
Err.Description | エラーを説明する文字列を取得または設定します。 |
Err.HelpFile | ヘルプ ファイルへの絶対パスを含む文字列 (String) 式を設定します。 |
Err.HelpContext | ヘルプ ファイルのトピックを表すコンテキスト ID を含む整数 (Integer) を設定します。 |
Err.LastDLLError | ダイナミック リンク ライブラリ (DLL) の呼び出しにより作成されたシステム エラー コードを返します。 |