
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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
VBA:小数点以下の数字を取得で...
-
ListView 項目の選択/選択解除...
-
現在時刻をミリ秒まで取得
-
時間を分に変換するプログラム
-
VBA Shapesの座標からセル位置...
-
EXCELのリストボックスを選択し...
-
Spreadの選択行の取得について
-
like演算子内に変数って使えな...
-
VBAでActiveDirectoryのユーザ...
-
gethostbyaddrでのホスト名取得...
-
エクセルVBA リストボック...
-
JavaScriptにおいてコンピュー...
-
VBAでステータスバーの情報取得...
-
C#でネットワーク(LAN)上のPC...
-
Flexgridで選択行の列の値を取...
-
iframe内で表示されてるサイト...
-
整数の桁数が取得できません
-
ActiveWorkbook.Path取得できない
-
データ数をカウントしたいのですが
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
ListView 項目の選択/選択解除...
-
VBA:小数点以下の数字を取得で...
-
VBAでActiveDirectoryのユーザ...
-
利用者側のMACアドレスを取得し...
-
count(*)で取得した値をJAVAの...
-
Flexgridで選択行の列の値を取...
-
Spreadの選択行の取得について
-
like演算子内に変数って使えな...
-
EXCELのリストボックスを選択し...
-
データ数をカウントしたいのですが
-
VBA Shapesの座標からセル位置...
-
NTPサーバから時刻を取得する
-
VBA リストボックス内の値を複...
-
エクセルVBAで複数選択できるよ...
-
JavaScriptにおいてコンピュー...
-
時間を分に変換するプログラム
-
JavaScriptでWindowsログオンID...
-
「Excel VBA」 Webクエリ マク...
-
javaで週の最初の日(例:月曜日...
おすすめ情報