最初にエラーを生成したオブジェクトまたはアプリケーションの名前を指定する文字列式を取得または設定します。 値の取得と設定が可能です。
解説
Source プロパティは、エラーを生成したオブジェクトを表す文字列式を指定します。式は通常、オブジェクトのクラス名またはプログラム ID です。
ソースを使用して、アクセスされたオブジェクトで生成されたエラーをコードで処理できない場合に情報を提供します。 たとえば、Microsoft Excel にアクセスし、 Division by zero エラーが発生した場合、Excel はそのエラーのエラー コードに Err.Number を設定し、[ ソース] を Excel.Applicationに設定します。
コードからエラーを生成するときは、Source はアプリケーションのプログラムでの ID です。 クラス モジュールの場合、Source には <プロジェクト名>.<クラス名> という形式の名前が含まれる必要があります。
コードで予期しないエラーが発生した場合、Source プロパティは自動的に設定されます。 標準モジュール内でのエラーの場合は、Source にはプロジェクト名が設定されます。 クラス モジュール内でのエラーの場合は、Source には <プロジェクト名>.<クラス名> という形式の名前が設定されます。
例
次の使用例は、Visual Basic で作成された Automation オブジェクトのプログラム ID を変数MyObjectIDに割り当て、Raise メソッドでエラーが発生したときに Err オブジェクトの Source プロパティにそれを割り当てます。
エラーを処理するときは、プログラムで Source プロパティ (または Number 以外の Err プロパティ) を使用しないでください。
Number 以外のプロパティの唯一の有効な使用方法は、コードでエラーを処理できない場合にエンド ユーザーに対して十分な情報を表示することだけです。 次の例では、 App および MyClass は有効な参照であるものとします。
Dim MyClass, MyObjectID, MyHelpFile, MyHelpContext
' An object of type MyClass generates an error and fills all Err object
' properties, including Source, which receives MyObjectID, which is a
' combination of the Title property of the App object and the Name
' property of the MyClass object.
MyObjectID = App.Title & "." & MyClass.Name
Err.Raise Number := vbObjectError + 894, Source := MyObjectID, _
Description := "Was not able to complete your task", _
HelpFile := MyHelpFile, HelpContext := MyHelpContext
関連項目
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。