VBA(Excel2003の)でステータスバーに表示されている情報(文字)を
APIで取得したいのですが、SendMessageでSB_GETTEXTを使って取得する
ことまではわかりましたが・・・
どうにわからず、最終的に↓のアドレスのソースを使ってみましたが、
空白しか取得できませんでした。
(パートの数はあっていそうなのですが、文字列がとれていません。)
http://homepage2.nifty.com/nonnon/SoftSample/Sam …
取得したい対象は、IEとかワードパッドとか秀丸とか、一般的な
アプリケーション全般のステータスバーの情報ですのでAPIを使いたいと
思っています。
ご教授いただければ幸いです。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
Excel.Application.StatusBarが Falseを返す場合は
SB_GETTEXTや WM_GETTEXTなどでは取得不能だと思われます …
redfox63様
ご回答ありがとうございます。
>Excel.Application.StatusBar
というのは、もしかすると、Excelのステータスバーの場合となるのではないか思います。
(私の理解不足で、勘違いしているようなら申し訳ありません)
ExcelのVBAを使用し、APIで別のアプリケーションのステータスバーの
内容を取得したいのが私の希望ですが、ご回答いただきありがとうございました。
No.1
- 回答日時:
以前どこかで似たような質問があった時の回答を保存していたものです。
私も完全には理解できていませんが、この様なことではないかと思い、
提示致します。
'使用するAPI
Public Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
'可視判定
Public Declare Function IsWindowVisible Lib "user32" (ByVal hWnd As Long) As Long
'キャプション取得
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
'オーナーフォームを指定してハンドル取得
Public Declare Function GetWindow Lib "user32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long
'定数:オーナーフォームチェック用
Public Const GW_OWNER = 4
'コールバック
Public Function GetProc(ByVal hWnd As Long, lParam As Long) As Boolean
Dim MyName As String * 128
Dim ret As Long
MyName = ""
ret = GetWindowText(hWnd, MyName, Len(MyName))
If IsWindowVisible(hWnd) Then
If GetWindow(hWnd, GW_OWNER) = 0 Then
If ret <> 0 Then
Debug.Print MyName & vbCrLf
End If
End If
End If
GetProc = True
End Function
Sub TEST()
Call EnumWindows(AddressOf GetProc, 0)
End Sub
ご参考になれば幸いです。
n-jun様
ご回答ありがとうございます。
恐らく、ご回答いただきました内容については、
タイトルの取得になるのではないかと思われますが、
参考になりました。
ありがとうございます^^
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(開発・運用・管理) おんどとりWebStorage APIから温度情報を取得し表示したい 2 2023/08/03 09:53
- Visual Basic(VBA) エクセルVBA 2 2022/04/27 13:29
- Excel(エクセル) 「Excelのオプション」の「ユーザーインターフェイスのオプション」の設定値をVBAで取得したい 1 2022/07/31 23:49
- その他(IT・Webサービス) ファミマ、ローソン、セブンの商品情報を全て取得するAPIみたいなのはありませんか? 2 2023/02/02 15:03
- コンサルティング・アドバイザー UL など海外規格をまとめる方法について 3 2023/08/16 10:29
- Visual Basic(VBA) マクロで最終行を取得したい 4 2023/05/28 12:14
- PHP バージョン情報の取得方法について 1 2023/03/15 11:56
- MySQL データベースの検索で、この場合、どの程度負荷になりますか? 3 2022/04/11 04:45
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでActiveDirectoryのユーザ...
-
ListView 項目の選択/選択解除...
-
VB.NETで DataRow()を利用して...
-
count(*)で取得した値をJAVAの...
-
VBA:小数点以下の数字を取得で...
-
like演算子内に変数って使えな...
-
JavaScriptでWindowsログオンID...
-
getParameter と getAttribut...
-
データ数をカウントしたいのですが
-
エクセルVBAで複数選択できるよ...
-
利用者側のMACアドレスを取得し...
-
ASP(vbscript)におけるクライア...
-
エクセルVBA リストボック...
-
jQueryによるajaxで、CGIからの...
-
ActiveWorkbook.Path取得できない
-
JSP+Servletでのページングの常識
-
「Excel VBA」 Webクエリ マク...
-
Excel VBA でログインしてい...
-
コンボボックス表示文字列を取...
-
C言語におけるコンピュータ名・...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでActiveDirectoryのユーザ...
-
VB.NETで DataRow()を利用して...
-
ListView 項目の選択/選択解除...
-
VBA:小数点以下の数字を取得で...
-
count(*)で取得した値をJAVAの...
-
データ数をカウントしたいのですが
-
like演算子内に変数って使えな...
-
ListViewで複数選択された項目...
-
Flexgridで選択行の列の値を取...
-
エクセルVBAで複数選択できるよ...
-
JavaScriptでWindowsログオンID...
-
利用者側のMACアドレスを取得し...
-
郵便番号検索APIにてget Elemen...
-
COMポート 名前を取得する方法
-
コンボボックス表示文字列を取...
-
VBA Shapesの座標からセル位置...
-
Spreadの選択行の取得について
-
VBScriptで数値にコンマを付け...
-
C言語におけるコンピュータ名・...
-
Excel VBA でログインしてい...
おすすめ情報