実現したいこと
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行目の挙動については不明です)
とりあえず、「型が一致しません」ということなので、
Typename(hWnd) がなんであるか見てみては?
