Microsoft Access Club >プロパティ講座 >その他 >このページ


ヘルプコンテキストID(HelpContextID)プロパティ : Access Property


HelpContextID/ヘルプコンテキストID プロパティは、HelpFile/ヘルプファイル プロパティに指定した独自のヘルプ ファイルのトピックを識別するコンテキスト ID を示します。

HelpFile/ヘルプファイル プロパティは、カレント フォームまたはカレント レポートの独自のヘルプ ファイルの名前を示します。
 

設定値

  • HelpContextID/ヘルプコンテキストID プロパティに対しては、表示するヘルプ ファイルのコンテキスト ID を示す 0 から 2,147,483,647 までの範囲の長整数型 (Long) の値を入力します。既定値は 0 です。
  • HelpFile/ヘルプファイル プロパティに対しては、Windows のヘルプ コンパイラで作成された独自のヘルプ ファイルのパス名とファイル名を含んだ、文字列式を入力します。
     

これらのプロパティを設定するには、プロパティ シート、マクロ、または Visual Basic を使います。これらのプロパティは、レポートにあるコントロールには適用されません。

 

解説

  • メモ 独自のヘルプ ファイルを作成するには、Windows のヘルプ コンパイラと、Microsoft・Word などのリッチ テキスト形式 (RTF) のテキスト エディタが必要です。Access で作成したフォーム、レポート、またはアプリケーションを説明するために、独自のヘルプ ファイルを作成することができます。

  • フォーム ビューで F1 キーを押すと、Windows のヘルプ アプリケーションが呼び出され、フォームの "HelpFile/ヘルプファイル" プロパティに指定した独自のヘルプ ファイルが読み込まれ、"HelpContextID/ヘルプコンテキストID" プロパティに指定したヘルプ トピックが表示されます。

  • コントロールの "HelpContextID/ヘルプコンテキストID" プロパティの設定値が 0 (既定値) の場合は、フォームの "HelpContextID/ヘルプコンテキストID" と "HelpFile/ヘルプファイル" プロパティに指定されたヘルプ トピックが表示されます。

  • フォーム ビュー以外のビューで F1 キーを押した場合や、フォームとコントロールの両方の HelpContextID/ヘルプコンテキストID プロパティの値が 0 に設定されている場合は、Access のヘルプ トピックが表示されます。

メモ

このプロパティは難解です。実際の現場ではまず使用することはありませんから・・・。サンプルとして、下記のプロシージャをご紹介します。このプロシージャは、エラーを強制的に発生させ、ヘルププロパティの各項目をメッセージボックスに表示させます。

Sub DescriptionX()

    Dim dbsTest As Database
    On Error GoTo ErrorHandler
    ' 故意にエラーを起こします。
    Set dbsTest = OpenDatabase("NoDatabase")
    Exit Sub

ErrorHandler:

    Dim strError As String
    Dim errLoop As Error
    ' Errors コレクションを列挙し各 Error オブジェクトのプロパティを表示します。
    For Each errLoop In Errors
        With errLoop
    strError = _
                "Error #" & .Number & vbCr
            strError = strError & "    " & .Description & vbCr
            strError = strError & "    (Source: " & .Source & ")" & vbCr
            strError = strError & "    Press F1 to see topic " & .HelpContext & vbCr
            strError = strError & "    in the file " & .HelpFile & "."
    End With
        MsgBox strError
    Next
    Resume Next

End Sub
 

 

このメッセージ内に、jeterr40.chmヘルプファイルがあることが分かりますね。

次に、これを利用して下記のようにプロシージャを作成します。このプロシージャでは、強制的にオーバーフローのエラーを発生させます。

Sub TEST()

    On Error Resume Next
    Dim Msg As String
    
    Err.Clear
    Err.Raise 6   ' オーバーフロー エラーを発生させます。
    Err.HelpFile = "jeterr40.chm"
    Err.HelpContext = 5003024
    
    If Err.Number <> 0 Then
        Msg = "F1 キーを押すか [Help] をクリックして、" & Err.HelpFile & " ヘルプの" & _
              "コンテキスト番号 " & Err.HelpContext & " のトピックを参照してください。"
        MsgBox Msg, , "エラー: " & Err.Description, Err.HelpFile, Err.HelpContext
    End If

End Sub
 

 

出典元:Accessヘルプ


ヘルプコンテキストID(HelpContextID)プロパティ : Access Property


-Microsoft Access Club-

注目のモンスター専用サーバーからお買い得プランまで幅広くそろえています。cPanel、PLESK、WEBMINまでお任せ下さい。
注目のモンスター専用サーバーからお買い得プランまで幅広い。
cPanel、PLESK、WEBMINまでお任せ下さい。