Функция перебирает все открытые окна браузера 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
Комментарии
Игорь, прошу прощения. Всё работает. Просто комп, скорей всего глюканул. После перезагрузки компа, все встало на свои места. Прошу удалить мои комментарии, как ошибочные.
С уважением, Мультипликатор.
Показывает адреса открытых папок Проводника, на одну меньше, чем реально открыто, а ИнтернетЭксплорер открытый не нашел...
Так что не работает...
Отправить комментарий