Err オブジェクト
実行時エラーに関する情報が含まれます。
解説
Err オブジェクトのプロパティは、エラーの生成元 (Visual Basic、オブジェクト、またはプログラマー) によって設定されます。
Err オブジェクトの既定のプロパティは、Number です。 既定のプロパティはオブジェクト名 Err で表すことができるので、Err 関数または Err ステートメントを使用して作成された以前のコードを変更する必要はありません。
実行時エラーが発生すると、Err オブジェクトのプロパティには、エラーを一意に示す情報およびエラーの処理に使用できる情報が設定されます。 コードで実行時エラーを生成するには、Raise メソッドを使用します。
Err オブジェクトのプロパティは、エラー処理ルーチン内の Exit Sub、Exit Function、Exit Property、または Resume Next ステートメントの後で 0 または長さ 0 の文字列 ("") にリセットされます。 エラー処理ルーチン外で Resume ステートメントのいずれかの形式を使用した場合、Err オブジェクトのプロパティはリセットされません。 Err を明示的にリセットするには、Clear メソッドを使用できます。
システム エラーおよびクラス モジュールに実行時エラーを生成するには、Error ステートメントではなく Raise メソッドを使用します。 他のコードでの Raise メソッドの使用は、返す必要のある情報量によって異なります。
Err オブジェクトは、グローバルなスコープの組み込みオブジェクトです。 コード内にそのインスタンスを作成する必要はありません。
例
この例では、Err オブジェクトのプロパティ (Number、Description、 HelpContext、 HelpFile、 Source) を使用して、エラー メッセージ ダイアログ ボックスを作成します。
Clear メソッドを最初に使用すると、Visual Basic エラーを Raise メソッドで生成するときに、Visual Basic の既定値が Err オブジェクトのプロパティになることに注意してください。
Dim Msg
' If an error occurs, construct an error message
On Error Resume Next ' Defer error handling.
Err.Clear
Err.Raise 6 ' Generate an "Overflow" error.
' Check for error, then show message.
If Err.Number <> 0 Then
Msg = "Error # " & Str(Err.Number) & " was generated by " _
& Err.Source & Chr(13) & Chr(13) & Err.Description
MsgBox Msg, vbMsgBoxHelpButton, "Error", Err.Helpfile, Err.HelpContext
End If
関連項目
- ステートメント (Visual Basic for Applications)
- VBA 内の実行時エラーを処理する
- トラップ可能なエラー
- オブジェクト (Visual Basic for Applications)
- Office 用オブジェクト ライブラリ リファレンス (メンバー、プロパティ、メソッド)
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。