-
- オブジェクトに関連付けられている説明の文字列を含む文字列式を設定します。値の取得も可能です。
-
- Err オブジェクトでは、エラーに関連する説明の文字列を設定します。値の取得も可能です。
-
- 次の例は、Err オブジェクトの Description プロパティにユーザー定義のメッセージを設定します。
-
Option Explicit
Private Sub test()
Dim Msg
Err.Clear
On Error Resume Next
Err.Raise 6 ' "オーバーフローしました。" エラーを発生させます。
If Err.Number <> 0 Then
Err.Description = "この操作に必要なオブジェクトに" _
& "アクセスすることができませんでした。"
Msg = "ヘルプ コンテキスト番号 " _
& Err.HelpContext & " について " & _
Err.HelpFile _
& " のヘルプを参照するには、F1 キーまたは Help キーを押してください。"
MsgBox Msg, , "エラー : " & _
Err.Description, Err.HelpFile, Err.HelpContext
Debug.Print Err.Description
Debug.Print Err.HelpFile
Debug.Print Err.HelpContext
End If
'この操作に必要なオブジェクトにアクセスすることができませんでした。
'C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA6\1041\VbLR6.chm
'1000006
End Sub
|
-
- ヘルプ ファイルのトピックに対応するコンテキスト番号を含む文字列式を設定します。値の取得も可能です。
-
- HelpContext プロパティを指定すると、HelpFile プロパティで指定したヘルプ トピックが自動的に表示されます。HelpFile
プロパティと HelpContext プロパティが空の場合は、Number プロパティの値がチェックされます。その値が Visual Basic
の実行時エラーの値に対応している場合は、そのエラーを表す Visual Basic ヘルプのコンテキスト番号が使われます。Number プロパティの値が
Visual Basic エラーに対応していない場合は、Visual Basic ヘルプ ファイルの目次画面が表示されます。
-
- 次の例は、Err オブジェクトの HelpContext プロパティを使って、"オーバーフローしました。" エラーに対応する
Visual Basic のヘルプを表示します。
-
Option Explicit
Private Sub test()
Dim Msg
Err.Clear
On Error Resume Next
Err.Raise 6 ' "オーバーフローしました。" エラーを発生させます。
If Err.Number <> 0 Then
Msg = "ヘルプ コンテキスト番号 " _
& Err.HelpContext & " について " & _
Err.HelpFile _
& " のヘルプを参照するには、F1 キーまたは Help キーを押してください。"
MsgBox Msg, , "エラー : " & _
Err.Description, Err.HelpFile, Err.HelpContext
Debug.Print Err.Description
Debug.Print Err.HelpFile
Debug.Print Err.HelpContext
End If
'オーバーフローしました。
'C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA6\1041\VbLR6.chm
'1000006
End Sub
|
-
- ヘルプ ファイルへの絶対バスを含む文字列式を設定します。値の取得も可能です。
-
- エラー ErrオブジェクトHelpFileプロパティ解説と使用例 を参照そて下さい。
-
- エラー ErrオブジェクトHelpFileプロパティ解説と使用例 を参照そて下さい。
-
-
- エラー API関数の実行時エラーを回避する を参照そて下さい。
-
- エラー API関数の実行時エラーを回避する を参照そて下さい。
-
-
- エラー ErrオブジェクトNumberプロパティ解説と使用例 を参照そて下さい。
-
- エラー ErrオブジェクトNumberプロパティ解説と使用例 を参照そて下さい。
-
エラーの発生元のオブジェクトまたはアプリケーションの名前を示す文字列式を設定します。値の取得も可能です。
-
- Source プロパティは、エラーを発生させたオブジェクトを表す文字列式を指定します。
- 一般に、この式はそのオブジェクトのクラス名またはプログラム ID です。
- アクセスされたオブジェクトで発生したエラーを処理できないときには、Source プロパティを使って情報を提供してください。
- たとえば、Microsoft Excel にアクセスしたときに "0 で除算しました。
- " エラーが発生すると、エラーを発生させたオブジェクト Excel によって Err オブジェクトの Number プロパティにそのエラーを表すエラー番号が設定され、Source
プロパティに Excel.Application が設定されます。
- コードを使用してエラーを生成する場合、Source プロパティにはアプリケーションのプログラム ID が設定されます。
- クラス モジュールの場合は、Source プロパティに project.class の形式でクラスの名前を格納する必要があります。
- 作成したコードで予期しないエラーが発生すると、自動的に Source プロパティが設定されます。標準モジュール内のエラーの場合、Source
プロパティにはプロジェクトの名前が格納されます。
- クラス モジュール内のエラーの場合、Source プロパティには project.class の形式でクラスの名前が格納されます。
-
- 次の例は、Visual Basic で作成されたオートメーション オブジェクトのプログラム ID を変数 MyObjectID に代入し、その後、Raise
メソッドでエラーを発生させるときに、この変数を Err オブジェクトの Source プロパティに代入しています。
- エラー処理を行うときには、Source プロパティおよび Err オブジェクトのプロパティのうち Number プロパティ以外のプロパティをコード内で使用しないでください。
- Number プロパティ以外のプロパティは、コードで処理できないエラーが発生した場合に、詳細な情報を表示する目的でのみ使用してください。
- この例では、App と MyClass への参照が有効であることを想定しています。
-
Option Explicit
Private Sub test1()
Dim MyClass, MyObjectID, MyHelpFile, MyHelpContext
'MyClass という種類のオブジェクトは、エラーを生成し、
'Source プロパティを含め、Err オブジェクトの全プロパ
'ティを設定します。
'Source プロパティには、App オブジェクトの Title プロ
'パティと MyClassオブジェクトの Name プロパティを組み
'合わせた変数 MyObjectID を代入します。
MyObjectID = App.Title & "." & MyClass.Name
Err.Raise Number:=vbObjectError + 894, Source:=MyObjectID, _
Description:="プログラムを完了することができませんでした。", _
HelpFile:=MyHelpFile, HelpContext:=MyHelpContext
End Sub
|
|