【VBS】IEのページ読み込み中待機について
IE8(WinXPSP3)で決まったサイトを複数開いていくVBSを作成しています。
開きたいサイトや数は時々変わるので、最初の方でサイトURLと数を設定しています。
普通にサイト1をIEで開いて、ページが表示されるまで待機し、
その後、サイト2以降を順次新しいタブで開く→表示されるまで待機→開く→待機と
処理させますが、最終的にはサイト1が表示されたタブがアクティブになっていてほしいので
サイト2以降が表示される際はアクティブタブが変わらないように
「objIE.Navigate2 URL(i), 4096,」としています。
ここから質問ですが、今の状態だとサイト2を開いたあとの「待機」が機能していません。
サイト1が開く→表示まで待機する→サイト2~5が一気に開いてしまう、という
具合です。
サイト1開く→表示完了まで待機→サイト2開く→表示完了まで待機→サイト3開く→
表示完了まで待機→としていくにはどのようにしてやればよいでしょうか?
プライベートで作っているものなので、特に急いではおりません。
よろしくお願いします。
Dim objIE
Dim i, cnt
Dim URL(20)
URL(1) = "http://www.yahoo.co.jp/"
URL(2) = "http://www.google.co.jp/"
URL(3) = "http://www.goo.ne.jp/"
URL(4) = "http://www.excite.co.jp/"
URL(5) = "http://jp.msn.com/"
cnt = 5
Const navOpenInNewTab = &H800
Const navOpenInBackgroundTab = &H1000
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate2 URL(1)
Do Until objIE.Busy = False
WScript.sleep(1000)
Loop
↓↓↓↓↓ここからが質問したいところです↓↓↓↓↓
For i = 2 to cnt step 1
objIE.Navigate2 URL(i), 4096, navOpenInNewTab
Do Until objIE.Busy = False
WScript.sleep(1000)
Loop
Next
Set objIE = Nothing
お礼
回答、有難うございます。 ディスクのエラーチェックをしたら治りました。 お世話になりました。