VBSにて起動中のIEに対してイベント登録するには?


ぱお  2012-08-15 15:58:23  No: 103330  IP: [192.*.*.*]

お世話になります。
ここは VBScript についての質問も OK でしょうか?

以下のコードで既に起動中の任意URLのIE Windowを取得し、
他のページへ飛ばす(Navigate)ところまではできました。
その後、イベント(DocumentComplete)を拾いたいのですが、
どのようにすればよいでしょうか?

Dim objWin, objTarget, objFileSys, objWS, sURL1, sURL2

sURL1 = "http://www.yahoo.co.jp/"
sURL2 = "http://www.google.co.jp/"

Set objTarget = Nothing
Set objFileSys = CreateObject("Scripting.FileSystemObject")
For Each objWin In CreateObject("Shell.Application").Windows
  If LCase(objFileSys.GetFileName(objWin.FullName)) = "iexplore.exe" Then
    If objWin.LocationURL = sURL1 Then
      Set objTarget = objWin
      Exit For
    End If
  End If
Next

If Not objTarget Is Nothing Then
  objTarget.Navigate sURL2
  Do
    WScript.Sleep 100
  Loop
  WScript.Sleep 100
End If

Sub IE_DocumentComplete(pDisp, URL)
  MsgBox "Googleに変わりました。"
  WScript.Quit()
End Sub


既存のIE Windowではなく、新しいIEを開くなら、
CreateObject("Internet.Explorer","IE_")
でイベントの接頭語を指定することでいけます。

しかし、上記コードの
CreateObject("Shell.Application")

CreateObject("Shell.Application", "IE_")
にしてもエラー、
Set objTarget = objWin
の次行に
WScript.ConnectObject objTarget, "IE_"
を追加してもエラー、
VBSCRIPTなので、WithEvents も使えない。

で行き詰まってしまいました。
なにか方法はありますでしょうか?

編集 削除
ぱお  2012-08-15 16:02:22  No: 103331  IP: [192.*.*.*]

自己訂正レス失礼
> CreateObject("Internet.Explorer","IE_")
CreateObject("InternetExplorer.Application","IE_")
でしたネ

編集 削除
ぱお  2012-08-15 16:18:02  No: 103332  IP: [192.*.*.*]

また自己レス
Do Loopがおかしかったです。
    Do While objTarget.Busy or objTarget.ReadyState<>4
        WScript.Sleep 100
    Loop
    WScript.Sleep 100
でした。

これくらいなら、別にイベント取得しなくても、
この後にMsgBoxでいいのですが、
実際には、イベント内でいろいろと処理したり、
他のイベントも処理させるつもりです。

編集 削除