Dim ieApp As InternetExplorer
Dim ieURL As String
ieURL = "D:\Рабочая папка\УПК РФ.mht"
Set ieApp = New InternetExplorer
ieApp.FullScreen = True ' во весь экран
ieApp.AddressBar = True ' во весь экран не показывает строку адреса - это чтобы ее вывести
ieApp.Navigate ieURL ' перейти по адресу
While ieApp.ReadyState < 4 'READYSTATE_COMPLETE - страница загружена
DoEvents
Wend
ieApp.Visible = True ' показать окно браузера
ieApp.ExecWB 32, 1 '32(OLECMDID_FIND) - внутренняя функция IE "поиск", 1(OLECMDEXECOPT_PROMPTUSER) - показать диалог с пользователем
Set ieApp = Nothing
Sub TestHL()
Const чтоИскать As String = "что-то важное"
Const гдеИскать As String = "D:\Рабочая папка\УПК РФ.mht"
HighLight чтоИскать, гдеИскать 'вызывается функция для поиска и выделения искомого текста
End Sub
Function HighLight(strFind As String, strUrl As String) ' функция для выделения искомого текста в Html-страницах
Dim ie As Object
Dim re As Object
Dim sHTML As String
Dim strReplace As String
Set ie = CreateObject("InternetExplorer.Application") ' создаем объект InternetExplorer
With ie
.Navigate strUrl ' открываем нужный файл
While .Busy ' ждем, когда он откроется.
Sleep 200 '
DoEvents '
Wend
sHTML = .Document.body.innerHTML ' сохраняем в отдельную переменную html-код страницы
strReplace = "<span style=" & """" & "background-color:#AA0000;" & """" & ">" & strFind & "</span>" ' на эту строку нужно заменить то, что найдем. здесь background-color:#AA0000 задает цвет фона
Set re = CreateObject("VBScript.RegExp") ' создаем объект VBScript для работы с регулярными выражениями
With re
.Pattern = strFind ' св-во Pattern содержит регулярное выражение, которое нужно найти.
.Global = True ' True - ищет все соответсвия, False - только первое
.IgnoreCase = True ' не учитывать регистр букв
sHTML = .Replace(sHTML, strReplace) ' заменяем в html-коде все найдены слова на них же, но с фоновым цветом, и сохраняем результат
End With
.Document.body.innerHTML = sHTML ' заменяем html-код страницы на поправленный
.Visible = True ' выводим на экран окно с IE
End With
Set re = Nothing ' освобождаем память
Set ie = Nothing ' освобождаем память
End Function
Sub TestHL()
Const чтоИскать As String = "что-то важное"
Const гдеИскать As String = "D:\Рабочая папка\УПК РФ.mht"
HighLight чтоИскать, гдеИскать 'вызывается функция для поиска и выделения искомого текста
End Sub
Function HighLight(strFind As String, strUrl As String) ' функция для выделения искомого текста в Html-страницах
Dim ie As Object
Dim re As Object
Dim sHTML As String
Dim strReplace As String
dim z As Long, i As Long
Set ie = CreateObject("InternetExplorer.Application") ' создаем объект InternetExplorer
With ie
.Navigate strUrl ' открываем нужный файл
While .ReadyState < 4 ' ждем, когда он откроется.
Sleep 200 '
DoEvents '
Wend
sHTML = .Document.body.innerHTML ' сохраняем в отдельную переменную html-код страницы
strReplace = "<span style=" & """" & "background-color:#AA0000;" & """" & ">" & strFind & "</span>" ' на эту строку нужно заменить то, что найдем. здесь background-color:#AA0000 задает цвет фона
z = 0
Do
i = z
z = InStr(i + 1, sHTML, strFind, vbTextCompare) ' находим последнее вхождение искомого слова в коде страницы
Loop While z > 0
If i > 0 Then sHTML = Left(sHTML, i - 1) & Replace(sHTML, strFind, strReplace, i, -1, vbTextCompare) ' заменяем его
.Document.body.innerHTML = sHTML ' заменяем html-код страницы на поправленный
.Visible = True ' выводим на экран окно с IE
End With
Set re = Nothing ' освобождаем память
Set ie = Nothing ' освобождаем память
End Function
Sub ИспользованиеЭксплорера2()
Dim IE As Object
Dim iLinks As Variant
Set IE = CreateObject("InternetExplorer.Application")
IE.navigate "d:\work\разработка\vba\iexplorer\УПК РФ.mht" 'открывает указанный согласно адреса .... и имени ... файл
While IE.ReadyState < READYSTATE_COMPLETE 'это код, который показывает, что ВЭБ страница полностью загружена. Так написано в документации по ReadyState
DoEvents
Wend
IE.TheaterMode = True ' Во весь экран (браузер раскрывается во весь экран, как при FullScreen) а панели инструментов делаются всплывающими, т.е. автоматически прячутся за краями экрана и появляются оттуда при наведении мыши
For Each iLinks In IE.Document.links ' просмотр всех внутренних ссылок в документе
If InStr(1, iLinks.innerText, "Статья 77", vbTextCompare) > 0 Then ' если в тексте ссылки содержится искомый текст
iLinks.click ' перейти по ссылке
Exit For
End If
Next iLinks
IE.Visible = True 'открывает, делает видимым Микрософт Интернет Эксплоер
'apiShowWindow IE.hwnd, SW_MAXIMIZE 'сделать окно IE во весь экран, для своей работы должна быть добавлена apiShowWindow Lib
Set IE = Nothing 'установка объекта в значение Nothing требуется для освобождения памяти, которая была выделена для нового объекта
End Sub
Sub gotoLink()
Dim IE As Object
Dim iLinks As Variant
Const fURL As String = "D:\Рабочая папка\УПК РФ.mht" ' адрес файла, который необходимо открыть
Const fLinkText as String = "Статья 77" ' текст ссылки, по которой нужно перейти
Set IE = CreateObject("InternetExplorer.Application") ' создаем новый экземпляр Internet Explorer
IE.navigate fURL 'открывает указанный согласно адреса .... и имени ... файл
While IE.ReadyState < READYSTATE_COMPLETE 'это код, который показывает, что ВЭБ страница полностью загружена
DoEvents
Wend
IE.TheaterMode = True ' Во весь экран (браузер раскрывается во весь экран, как при FullScreen) а панели инструментов делаются всплывающими, т.е. автоматически прячутся за краями экрана и появляются оттуда при наведении мыши
For Each iLinks In IE.Document.links ' просмотр всех внутренних ссылок в документе
If InStr(1, iLinks.innerText, fLinkText, vbTextCompare) > 0 Then ' если в тексте ссылки содержится искомый текст
iLinks.click ' перейти по ссылке
Exit For
End If
Next iLinks
IE.Document.Title = "УПК РФ" 'заголовок WEB страницы, указывется в самом верху страницы
IE.Visible = True 'открывает, делает видимым Internet Explorer
Set IE = Nothing 'установка объекта в значение Nothing требуется для освобождения памяти, которая была выделена для нового объекта
End Sub
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.