次の方法で共有


Source プロパティ

最初にエラーを生成したオブジェクトまたはアプリケーションの名前を指定する文字列式を取得または設定します。 読み取り/書き込みが可能です。

注釈

Source プロパティは、エラーを生成したオブジェクトを表す文字列式を指定します。は通常、オブジェクトのクラス名またはプログラム ID です。

ソースを使用して、アクセスされたオブジェクトで生成されたエラーをコードで処理できない場合に情報を提供します。 たとえば、Microsoft Excel にアクセスしてエラーが発生 Division by zero した場合、Excel はそのエラーのエラー コードに Err.Number を設定し、 Source を に 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 のサポートおよびフィードバックを参照してください。