ふぢのVB小技集

ヘルプを起動するにはどうすればいいのか。

(質問)
よくヘルプメニューをクリックするとヘルプが表示されますが、VBで同じことを行うにはどうすればよいのですか?



(回答)
VBからヘルプを起動するには、WindowsAPIの'WinHelpByStr'を使用します。



(解説)
作成したプログラムを複数の人に配布する場合など、プログラムの使用方法を書いたヘルプを表示するようにしておくと大変親切です。
しかし、VBのみでは実現できません。そこで、今回もWindowsAPI'WinHelpByStr'にお世話になります。

標準モジュール、またはFormのGeneralプロシージャに以下の宣言文を追加する

'*************************************************************
'ヘルプを表示するAPI
'*************************************************************

Declare Function WinHelpByStr Lib "user32" _
        Alias "WinHelpA" (ByVal hwnd As Long, _
        ByVal lpHelpFile As String, ByVal wCommand As Long, _
        ByVal dwData As String) As Long

'WinHelpByStrで使用する定数
Public Const HELP_QUIT = &H2            'ヘルプの終了
Public Const HELP_INDEX = &H3           '目次ページ゙の表示
Public Const HELP_HELPONHELP = &H4      'ヘルプのヘルプ
Public Const HELP_CONTEXTPOPUP = &H8&   'ポップアップヘルプの表示
Public Const HELP_KEY = &H101           'キーワードの検索
Public Const HELP_COMMAND = &H102&      'ヘルプマクロを実行
Public Const HELP_FINDER = &HB          '[キーワード]タブを表示
Public Const HELP_CONTENTS = &H3&       '[目次]タブを表示'Windows Helpを表示するAPI(文字列指定版)




ヘルプメニューのClickイベントプロシージャなどに以下のように処理を記述する。

Private Sub MnuHelp_Click()
    Dim lngAPIReVal As Long        '戻り値取得エリア
    
    'ヘルプを表示する
    lngAPIReVal = WinHelpByStr(Me.hwnd, MyPath & "Hamon.hlp", HELP_KEY, "")

End Sub

うまくいったかな?


戻る