次のコード行は、ブラウザー ウィンドウを 1 つしか開いておらず (タブなし)、iexplore.exe プロセスを 1 つしか実行していないにもかかわらず、複数の InternetExplorer オブジェクトを返します。開いているブラウザ ウィンドウ オブジェクトのみを取得するにはどうすればよいですか?
For Each ie As SHDocVw.InternetExplorer In shellWindows
次のコード行は、ブラウザー ウィンドウを 1 つしか開いておらず (タブなし)、iexplore.exe プロセスを 1 つしか実行していないにもかかわらず、複数の InternetExplorer オブジェクトを返します。開いているブラウザ ウィンドウ オブジェクトのみを取得するにはどうすればよいですか?
For Each ie As SHDocVw.InternetExplorer In shellWindows
これは役立つかもしれません
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