MyTetra Share
Делитесь знаниями!
Поиск окна Internet Explorer с открытой ссылкой
Время создания: 10.02.2021 20:33
Текстовые метки: VBA, окна, Window
Раздел: !Закладки - VBA
Запись: xintrea/mytetra_db_adgaver_new/master/base/16129784291zx4bsqvat/text.html на raw.githubusercontent.com

Поиск окна 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
Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования