2011-09-13 75 views
2

即使我只有一個瀏覽器窗口打開(沒有選項卡)並且只有一個iexplore.exe進程正在運行,以下代碼行可以返回多個InternetExplorer對象。我如何才能打開瀏覽器窗口對象?SHDocVw.InternetExplorer在shellWindows中返回太多對象

For Each ie As SHDocVw.InternetExplorer In shellWindows

+1

您還將得到任何打開Windows資源管理器窗口。可以工作的一件事是試圖將ie.Document強制轉換爲mshtml.IHtmlDocument,它只能用於IE實例。 –

回答

2

這可能有助於

Dim objShellWindows As New SHDocVw.ShellWindows 
Dim rVal As SHDocVw.InternetExplorer 
    For Each rVal In objShellWindows 
     Debug.Print TypeName(rVal.Document) 
     If TypeName(rVal.Document) = "HTMLDocument" Then 
      If rVal.Name = "Windows Internet Explorer" Then 
       rVal.Visible = False 
       rVal.Visible = True 
       Set ie = rVal 
       ie.Quit 
       Set ie = Nothing 
      End If 
     End If 
    Next rVal