#174 ウィンドウハンドルからキャプションを取得する方法 VBA、API

ウィンドウハンドルからウィンドウのキャプション(タイトルバーに表示されているウィンドウの標題)を取得するにはWindowsAPIの「GetWindowText」関数を使用します。

まず標準モジュールに次のコードを記述します。"Declare"の前に"Private"を付けることによってフォームのモジュールにも記述できます。
Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" _
(ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

次の例は、Access自体のキャプションを取得、メッセージ表示するサンプルです。最初の引数 hWndAccessApp がAccessのウィンドウハンドルを表すApplicationオブジェクトのプロパティです。通常、Accessのタイトルを取得して利用するということはあまりないかもしれませんが、この部分にウィンドウハンドルを指定することによって、さまざまなアプリケーションのキャプションを取得することができます。
Dim strWindowText As String * 128   'キャプションを受け取る変数
Dim lngRet As Long

'API関数を呼び出します
lngRet = GetWindowText(hWndAccessApp, strWindowText, Len(strWindowText))

'引数の後続の Null を取り除いて表示します
MsgBox Left$(strWindowText, InStr(strWindowText, vbNullChar) - 1)

実行結果:
実行結果
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved