Number プロパティ
エラーを示す数値を取得または設定します。 Number は Err オブジェクトの既定のプロパティです。 読み取り/書き込みが可能です。
注釈
オブジェクトからユーザー定義エラーを返す場合は、エラー コードとして選択した番号を vbObjectError 定数に追加して Err.Number を設定します。 たとえば、1051 という番号をエラー コードとして返す場合は次のコードを使用します。
Err.Raise Number := vbObjectError + 1051, Source := "SomeClass"
例
最初の例は、エラー処理ルーチンでの Number プロパティの一般的な使用方法を示しています。 2 番目の例では、Err オブジェクトの Number プロパティを調べて、オートメーション オブジェクトから返されたエラーがオブジェクトで定義されたものか、Visual Basic で定義されているエラーにマップされたものかを特定します。
定数 vbObjectError は、サーバーで定義されたエラーであることを示すためにオブジェクト独自のエラー コードに追加される非常に大きい負の数値です。 そのため、その数値を Err.Number から減算して、結果から除いています。
オブジェクト定義のエラーの場合は、基準の番号が MyError
に残り、エラーの元のソースと共にメッセージ ボックスに表示されます。 Err.Number が Visual Basic エラーを表す場合は、メッセージ ボックスに Visual Basic エラー番号が表示されます。
' Typical use of Number property
Sub test()
On Error GoTo out
Dim x, y
x = 1 / y ' Create division by zero error
Exit Sub
out:
MsgBox Err.Number
MsgBox Err.Description
' Check for division by zero error
If Err.Number = 11 Then
y = y + 1
End If
Resume
End Sub
' Using Number property with an error from an
' Automation object
Dim MyError, Msg
' First, strip off the constant added by the object to indicate one
' of its own errors.
MyError = Err.Number - vbObjectError
' If you subtract the vbObjectError constant, and the number is still
' in the range 0-65,535, it is an object-defined error code.
If MyError > 0 And MyError < 65535 Then
Msg = "The object you accessed assigned this number to the error: " _
& MyError & ". The originator of the error was: " _
& Err.Source & ". Press F1 to see originator's Help topic."
' Otherwise it is a Visual Basic error number.
Else
Msg = "This error (# " & Err.Number & ") is a Visual Basic error" & _
" number. Press Help button or F1 for the Visual Basic Help" _
& " topic for this error."
End If
MsgBox Msg, , "Object Error", Err.HelpFile, Err.HelpContext
関連項目
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。