- ベストアンサー
VBSでIEウィンドウがアクティブにならない
- VBSで作成したスクリプトで、IEウィンドウをアクティブにすることができない問題が発生しています。
- Win10+IE11を使用しており、スクリプト自体はエラーなく完了するものの、ウィンドウをアクティブにすることができません。
- VBSでIEウィンドウをアクティブにする方法についてアドバイスをいただきたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>Win10 + IE11 環境ではそもそも Win7(64bit) IE11では動きましたが Option Explicit Dim objIE, objShell, objWshShell, objWin Dim linknum, spurl linknum = Inputbox("リンク番号を入力してください。") spurl="https://xxxx" & linknum 'Shell.Applicationオブジェクトの作成 Set objShell = Wscript.CreateObject("Shell.Application") '既に起動しているIEを検索 Set objIE = Nothing For Each objWin In objShell.Windows If TypeName(objWin.document) = "HTMLDocument" Then '見つかればobjIEオブジェクトに格納 Set objIE = objWin Exit For End If Next If objIE is NothIng Then '起動しているIEが無ければ新たに作成 Set objIE = Wscript.CreateObject("InternetExplorer.Application") With objIE .Visible = True .Navigate spurl End With Else 'IEが起動しておれば最終タブを取得 objIE.Navigate2 spurl, &H800 WScript.sleep 250 Set objIE = objShell.Windows.Item(objShell.Windows.Count - 1) Do While objIE.Busy = True Or objIE.readyState <> 4 WScript.Sleep 250 Loop Set objWshShell= Wscript.CreateObject("Wscript.Shell") objWshShell.AppActivate objIE WScript.Sleep 1000 objWshShell.SendKeys "%( )" WScript.Sleep 250 objWshShell.SendKeys "x" End If
その他の回答 (1)
- BarcodeMaster
- ベストアンサー率73% (17/23)
VBSって良く知らないんですが、 objIE.FullScreen = True これってエラーになりませんか? Windows10で動くかどうかわかりませんが、 過去に同じ質問見つけましたので、貼っておきますね。 http://qa.itmedia.co.jp/qa6267343.html
補足
ありがとうございます。貼ってくださった質問は見ておりました。 そのため、AppActive のコードを入れたのですが、期待する動作にならなくて。。。 また、質問本文で記載している通り、コード実行時にエラーメッセージは表示されないです。。。 引き続き、何かありましたらよろしくお願いいたします。
お礼
書き込みありがとうございます! IE ウィンドウがすぐ後ろにある状態で Inputbox を表示して入力すると、ウィンドウがアクティブになりました。 ありがとうございました。今後ともよろしくお願いします。