« Vista+IE8(IE7?)で、制限付きサイトゾーンのフォルダが使える。 | トップページ | IEのFullScreen、ToolBar、AddressBar、MenuBar、StatusBarをトグル。 »

2009年8月 4日 (火)

IE7/IE8で、現在または最後にアクティブなIEを捕捉する。

Win32APIのFindWindow()を併用すれば、正確に捕捉できます。

hwnd=CreateObject("Excel.Application").ExecuteExcel4Macro("CALL(""user32"",""FindWindowA"",""JCJ"",""IEFrame"",0)")
For Each ie In CreateObject("Shell.Application").Windows()
  If hwnd=ie.HWND Then
    ie.StatusText=CStr(hwnd)
    If ie.StatusText=CStr(hwnd) Then Exit For
  End If
Next
If IsEmpty(ie) Then
  MsgBox "Not Found"
Else
  MsgBox ie.LocationURL
End If

アクティブなIEウィンドウはFindWindow("IEFrame",0)で分かりますが、アクティブなタブは分かりません。
しかし、StatusTextが変更可能なのはアクティブなタブだけなようなので、それで区別できます。

« Vista+IE8(IE7?)で、制限付きサイトゾーンのフォルダが使える。 | トップページ | IEのFullScreen、ToolBar、AddressBar、MenuBar、StatusBarをトグル。 »