Source プロパティ

最初にエラーを発生させたオブジェクトまたはアプリケーションの名前を設定します。値の取得も可能です。

object.Source [= stringexpression]

引数

  • object
    必ず指定します。Err オブジェクトを指定します。
  • stringexpression
    省略可能です。エラーを発生させたアプリケーションを表す文字列式を指定します。

解説

通常、Source プロパティは、エラーを発生させたオブジェクトのクラス名またはプログラム ID を指定します。操作したオブジェクトで発生したエラーを処理できないときには、Source プロパティを使ってユーザーに情報を提供してください。たとえば、Microsoft® Excel (以下 Excel) にアクセスしたときに " 0 で除算しました。" エラーが発生すると、エラーを発生させたオブジェクト Excel によって、Err オブジェクトの Number プロパティにそのエラーを表すエラー番号が設定されます。また、Source プロパティには Excel の Application オブジェクトが設定されます。Excel によって呼び出された別のオブジェクト内でエラーが発生すると、Excel はそのエラーに対して割り込みをかけ、Err オブジェクトの Number プロパティに " 0 で除算しました。" を表すエラー番号を設定するので注意してください。ただし、ほかの Err オブジェクトのプロパティ (Source プロパティを含む) は、エラーを発生させたオブジェクトによって設定されたままの状態になります。

Source プロパティには、常にエラーを最初に発生させたオブジェクトの名前が設定されます。このようなエラーに対しては、エラーを発生させたオブジェクトのマニュアルを参照してエラー処理ルーチンを作成してください。エラー処理ルーチンで対応できないときには、Err オブジェクトの情報を利用してユーザーにエラーを知らせるようにします。Source プロパティなどの Err オブジェクトのプロパティを使って、エラーを最初に引き起こしたオブジェクトや、エラーの説明などをユーザーに知らせることができます。

コードを使ってエラーを生成する場合、Source プロパティにはアプリケーションのプログラム ID が設定されます。

次のコードは、Source プロパティの使用例です。

On Error Resume Next
Err.Raise 6   ' オーバーフロー エラーを発生させます。
MsgBox ("エラー番号 " & CStr(Err.Number) & " " & Err.Description & Err.Source)
Err.Clear   ' エラーのクリア。

必要条件

バージョン 1

参照

Description プロパティ | Err オブジェクト | HelpContext プロパティ | HelpFile プロパティ | Number プロパティ | On Error ステートメント

対象: Err オブジェクト