
VBSでIEを起動しURLが開いた後に処理をするにはどうすればいいですか?
たとえば、
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """C:\Program Files\Internet Explorer\IEXPLORE.EXE"""&" www.google.co.jp/"
'グーグルが開いた後に処理
WshShell.SendKeys "検索ワード~"
これで開いたタイトルは「Google - Microsoft Internet Explorer」になります。
今まではSleep関数を使っていましたが、
IEの起動時間はバラバラなので早すぎたり遅すぎたりしてしまいます。
よろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
とりあえず、今回の件だけを考えれば
Set WshShell=Wscript.CreateObject("Wscript.Shell")
WshShell.AppActivate("Google")
WshShell.SendKeys "^v"
として、Googleを開いたWindowにアクティベートすればよいです。
No.2
- 回答日時:
さすがにIEXPLORE.EXEをrunするのはありえないでしょ・・・。
オブジェクトとして利用してください。
またSendkeysはキーしかおくれず検索ワードを代入するのには
なにかと物足りないので、クリップボード経由で代入する手もあります。
まぁgoogleってわかっているなら、テキストボックスにvalueを
代入してやるんでもよいのですけどね。
set oIE=Wscript.CreateObject("InternetExplorer.application")
oIE.navigate2("http://www.google.co.jp")
oIE.visible=true
Do Until oIE.Busy = False
WScript.sleep(250)
Loop
Set oClip=oIE.Document.parentWindow.clipboardData
oClip.setData "text","ほげー"
Set WshShell=Wscript.CreateObject("Wscript.Shell")
WshShell.SendKeys "^v"
この回答への補足
ご回答有り難うございます。
無事にURLの開いた後の処理になりました。
ただ、既に別のIEを起動中にこのスクリプトを実行すると、
今起動したIEがバックグラウンドになってしまい、
キーが遅れませんでした。
これを回避するのはどのような方法がありますか?
No.1
- 回答日時:
IEのオブジェクトを生成して、イベント(NavigateComplete2)の発生を待って見るとか・・・
例えば
--------------------------------------------------------------
Dim F
F=False
Set IE = WScript.CreateObject("InternetExplorer.Application","IEW_")
IE.Visible = True
IE.Navigate "www.google.co.jp"
' -- イベント待ち --
Do While F=False
WScript.Sleep 100
Loop
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "abcd"
'-- イベントプロシージャ
Sub IEW_NavigateComplete2(O,URL)
F=True
End Sub
--------------------------------------------------------------
この回答への補足
ご回答有り難うございます。
無事にURLの開いた後の処理になりました。
ただ、既に別のIEを起動中にこのスクリプトを実行すると、
今起動したIEがバックグラウンドになってしまい、
キーが遅れませんでした。
これを回避するのはどのような方法がありますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) セルの値をグーグルで検索するエクセルVBAについて! 2 2022/08/01 21:41
- その他(ブラウザ) Edge internet explorer モードのサイトの再読み込みを許可 表示されない 2 2023/03/03 12:10
- その他(ブラウザ) Internet Explorer でなければ開けないページ 4 2022/03/25 18:03
- その他(パソコン・周辺機器) EXCELで「WEBオプションの対象ブラウザ」を変更する方法 2 2023/04/12 15:44
- Windows 10 Internet Explorer-11 を削除はしたけれど… 3 2022/06/20 17:54
- フリーソフト TARGET frontier JVから起動するブラウザを変えたい 1 2022/10/09 12:08
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- Windows 10 explorerをedgeで開く方法 2 2022/06/05 14:59
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- その他(ブラウザ) pythonの既定のブラウザを変更したいです 1 2022/07/06 22:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでダブルコーテーション入り...
-
エラーの意味は? Lvalue req...
-
整数xxxが大き過ぎますというエ...
-
jsp~jspにhiddenを使って変数...
-
EXCEL/VBA 変数の値をクリップ...
-
processing エラーで、 "cannot...
-
Visual Basic 2008 変数をDBへ...
-
Variant型で宣言してるのにEmpt...
-
コマンドプロンプト バッチ|結...
-
[VBS]変数を定数に変換する方法...
-
vba 最大値 条件分岐
-
int→unsigned int キャスト
-
stdpicture型の変数に、、
-
C言語 列挙型(enum型)変数について
-
verilog HDLの[=]と[<=]の使い分け
-
if文の判定について
-
JavaScriptをURLから直接実行し...
-
DataTableの値を変数に代入したい
-
プログラミングで変数と関数の...
-
テキストボックスの値を変数に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでダブルコーテーション入り...
-
EXCEL/VBA 変数の値をクリップ...
-
jsp~jspにhiddenを使って変数...
-
[VBS]変数を定数に変換する方法...
-
テキストボックスの値を変数に...
-
Variant型で宣言してるのにEmpt...
-
エラーの意味は? Lvalue req...
-
整数xxxが大き過ぎますというエ...
-
C言語 列挙型(enum型)変数について
-
VBA 1行で複数の代入を行った...
-
gridViewの行選択解除
-
PL/Iについて、教えてください。
-
JavaScriptをURLから直接実行し...
-
Accessコンボボックスにレコー...
-
プログラミングで変数と関数の...
-
【VBA】複合代入演算子
-
ASP+SQLにてSessionがNullになる
-
無名関数のメリットがよくわか...
-
processing エラーで、 "cannot...
-
VBAプログラミングで質問です ...
おすすめ情報