Поиск окна Internet Explorer с открытой ссылкой
|
Функция перебирает все открытые окна браузера Internet Explorer, и ищет среди них окно по заданной ссылке (или по части ссылки)
Function GetRunningIE(ByVal URL$, Optional ActivateWindow As Boolean = True) As SHDocVw.InternetExplorer
' подключается к браузеру IE, в котором открыта вкладка со страницей URL$
On Error Resume Next
Dim w As WebBrowser, oShellWind As New ShellWindows
For Each w In oShellWind
Debug.Print w.LocationURL
If w.LocationURL Like URL$ Then
'If ActivateWindow Then
' ShowWindow w.Hwnd, 5
' SetForegroundWindow w.Hwnd
'End If
Set GetRunningIE = w
Debug.Print "Подключение выполнено к IE со ссылкой", w.LocationURL
Exit For
End If
Next
Set oShellWind = Nothing
End Function
ВНИМАНИЕ: для работы этого кода, в Tools — References нужно подключить ссылку на библиотеку Microsoft Internet Controls
Пример использования
Sub test_IE()
Dim IE As SHDocVw.InternetExplorer, URL$
URL$ = "*excelvba.ru*"
Set IE = GetRunningIE(URL$)
If IE Is Nothing Then
Debug.Print "Вкладка не найдена"
Else
MsgBox IE.Document.DocumentElement.outerHTML, vbInformation, "Исходный код страницы"
End If
End Sub