• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBS(WSH)で開いたIEのウィンドウがアクティブにならない)

VBS(WSH)で開いたIEのウィンドウがアクティブにならない

このQ&Aのポイント
  • VBSでタイトルバーのみのIEウィンドウを開き、SendKeyでtestと入力するスクリプトを作成しています。
  • 開いたIEのウィンドウがアクティブにならず、SendKeyがIEに送信されません。
  • VBSについては全くの初心者でして、ウィンドウがアクティブにならないのが環境の問題なのか、プログラムの問題なのか判断できません。どなたかご教授をお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

プログラムでは無く、環境によるものです。 ただ、WSHを使ってアクティブウィンドウにキーを送る仕組みですが、WSHからIEを起動したら確実にアクティブになる補償は無いので、スクリプト内で明示的にアクティブにした方が安全です。 @ITで指定したプロセスIDをアクティブにしてキーを送る記事があったので、参考になると思います。 http://www.atmarkit.co.jp/fwin2k/tutor/cformwsh14/cformwsh14_01.html ただし、 Set objIE = WScript.CreateObject("InternetExplorer.Application") で起動した場合、objIEだけでプロセスIDが得られないので、別の検討が必要になります。 メニュー等非表示の指定を除けば、iexplorer.exeをExecコマンドで立ち上げることは可能でしょう。 プロセスIDまで取得してきっちり組みたい場合は、WSHにてWMIという仕組みを使えばプロセス情報は得られます。 http://www.upken.jp/kb/wmi_sample.html 検索ワードとしては、「WMI」「VBScript」「プロセス」「取得」あたりでいろいろ出ると思いますよ。 IE起動前にプロセス一覧を記録し、起動後に増えたIEのプロセスをうまく引ければ実現できそうですね。

その他の回答 (2)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.3

下記は参考になるでしょうか?XP&XL2000 VBAでは動作しました。 http://hanatyan.sakura.ne.jp/patio/read.cgi?no=194

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

>SendKeyでtestと入力するスクリプトを作成しています。 objIE.Document.all.q.Value = "Test" で入力できませんか

関連するQ&A

専門家に質問してみよう