質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

Q&A

1回答

2550閲覧

WindowsAPIのFindWindow関数をVBSで使用したい

keQ

総合スコア0

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

0グッド

0クリップ

投稿2023/06/14 10:12

実現したいこと

FindWindow関数を使用して、ウィンドウタイトルが"新しいタブ - Google Chrome"のウィンドウのハンドルを取得しMsgboxで表示するVBSコードを作成したい。

前提

下記VBAではうまくいったのですが、自分で考えてVBSに直したところエラーが出るようになりました。

該当のソースコード

VBA(うまくいった方)

1Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr 2 3Sub キャプション名からウインドウハンドルを取得する() 4 5 Dim hWnd As LongPtr 6 hWnd = FindWindow(vbNullString, "新しいタブ - Google Chrome") 7 MsgBox hWnd 8 9End Sub

VBScript(自作してエラーになった方)

1Dim hWnd 2Dim Excel 3Set Excel = WScript.CreateObject("Excel.Application") 4hWnd = Excel.ExecuteExcel4Macro("CALL(""user32"", ""FindWindowA"", ""JCJ"", 0, ""新しいタブ - Google Chrome"" )") 5Msgbox hWnd

発生している問題・エラーメッセージ

行 5 文字 1 エラー 型が一致しません コード 800A000D ソース Microsoft VBScript 実行時エラー

試したこと

5行目Msgbox~を削除したところ、エラーにはなりませんでした。(1~4行目の挙動については不明です)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2023/06/14 11:09

とりあえず、「型が一致しません」ということなので、 Typename(hWnd) がなんであるか見てみては?
guest

回答1

0

4行目の""JCJ""を""JJC""に修正すればエラーになりませんが、結果は0です。原因は不明。
また、
hWnd = Excel.ExecuteExcel4Macro("CALL(""user32"", ""FindWindowA"", ""JCJ"", ""Chrome_WidgetWin_1"", 0)")
にすれば、Edgeブラウザのハンドル番号をとれます。

投稿2023/07/12 05:11

mengjun

総合スコア2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問