#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'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします
 

Copyright © T'sWare All rights reserved