2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« ファイルの場所を開く。 | トップページ | Vistaで、IE.Navigate()する。IEオブジェクトを乗り継ぐ。(その4) »

2010年3月27日 (土)

Vistaで、IE.Navigate()する。IEオブジェクトを乗り継ぐ。(その3)

IEオブジェクトが遷移するとき、一時的にShellWindowsに同居するようなので、早目にhwndをキーに乗り移ります。
旧オブジェクトが消えてから乗り移るより、タイミングエラーが少なくて済みます。

Set Shell=CreateObject("Shell.Application")
Set ie=CreateObject("InternetExplorer.Application")
ie.Visible=True
hwnd=ie.HWND
ie.Navigate URL
Do
  For Each ix In Shell.Windows()
    If hwnd=ix.HWND And Not ix Is ie Then
      Set ie=ix
      Exit For
    End If
  Next
  If Not ie.Busy And ie.ReadyState=4 Then Exit Do
  WScript.Sleep 100
Loop
MsgBox ie.LocationURL

« ファイルの場所を開く。 | トップページ | Vistaで、IE.Navigate()する。IEオブジェクトを乗り継ぐ。(その4) »