Предположим, вы знаете URL-адрес второго окна, попробуйте следующую функцию:
Private Function SecIE(strURL As String) As InternetExplorer
' It needs a reference to 'Microsoft Internet Controls'
Dim objIE As Object
For Each objIE In CreateObject("Shell.Application").Windows
If objIE.Name = "Internet Explorer" Then
If objIE.Document.Location = strURL Then
Set SecIE = objIE: Exit Function
End If
End If
Next
End Function
Ее можно вызвать следующим образом:
Sub testFindIEObject()
Dim secondIE As InternetExplorer
Set secondIE = SecIE("http://www.msn.com/en-xl/?ocid=iehp&AR=1") 'use your sec Wind URL
Debug.Print secondIE.Document.Title
End Sub
Я использовал указанный выше URL только для целей тестирования ...
Если вы не знаете, не можете извлечь URL-адрес второго окна, я думаю, что могу адаптировать код, чтобы найти второй, начиная с его заголовка. Необходимо создать переменную stati c и подсчитать windows с тем же заголовком. Первое окно будет пропущено, а второе будет определено как желаемый объект IE.