Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


71044 / 76738 ←次へ | 前へ→

【10195】Re:ウインドウネームを取得できますか?
回答  kein  - 04/1/10(土) 21:19 -

引用なし
パスワード
   >エラーメッセージが出力
どこに出てますか ? たぶん、Declare〜 のどこかだと思いますが、ひょっとして
コピペするときに引数を囲む括弧が、余分に追加されちゃってませんか ?

Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" _
()(ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
↑ここの部分のようにです。
私もそうなった経験があるのですが、もしこれが追加されていたら消して下さい。

>他のアプリケーションの名前に変えればよろしいのですか
そのとうりです。もしタイトルバーの文字列が完全に固定しているのなら、
それを使って hWnd = FindWindow(vbNullString, タイトルバーの文字列)
のようにしてウィンドウハンドルが得られますが、たいてい固定した部分とそうで
ない部分とが合体しているはずなので、先のように固定した部分を Like演算子で
判定することになります。例えばメモ帳なら

If Name Like "*メモ帳*" Then

とすればいいのです。なお変数名に使った Name は、Excelのオブジェクトや
プロパティに存在しているので、ちょっと変更して全て WName などとしておいて
下さい。

Dim WName As String

WName = String(255, ChR(0))
Leng = Len(WName)
Ret = GetWindowText(Handle, WName, Leng)

If WName Like "*Microsoft Internet Explorer*" Then
 hWnd = FindWindow(vbNullString, WName)

の、6ヶ所あります。

0 hits

【10136】ウインドウネームを取得できますか? EMU 04/1/8(木) 16:57 質問
【10138】Re:ウインドウネームを取得できますか? Seraph 04/1/8(木) 17:27 回答
【10141】Re:ウインドウネームを取得できますか? EMU 04/1/8(木) 18:32 質問
【10143】Re:ウインドウネームを取得できますか? Seraph 04/1/8(木) 20:21 回答
【10153】Re:ウインドウネームを取得できますか? EMU 04/1/9(金) 9:55 質問
【10172】Re:ウインドウネームを取得できますか? Seraph 04/1/9(金) 14:48 回答
【10180】Re:ウインドウネームを取得できますか? EMU 04/1/9(金) 17:17 質問
【10185】Re:ウインドウネームを取得できますか? Kein 04/1/9(金) 19:24 回答
【10193】Re:ウインドウネームを取得できますか? EMU 04/1/10(土) 17:46 質問
【10195】Re:ウインドウネームを取得できますか? kein 04/1/10(土) 21:19 回答
【10222】Re:ウインドウネームを取得できますか? EMU 04/1/13(火) 12:22 質問
【10223】Re:ウインドウネームを取得できますか? kein 04/1/13(火) 12:34 回答
【10224】Re:ウインドウネームを取得できますか? EMU 04/1/13(火) 13:45 お礼
【10186】Re:ウインドウネームを取得できますか? Seraph 04/1/9(金) 20:02 回答
【10194】Re:ウインドウネームを取得できますか? EMU 04/1/10(土) 18:35 お礼

71044 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free