Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Basic / VBA


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Гаряка Асмик
Статус: Специалист
Рейтинг: 3567
∙ повысить рейтинг »
Vasiliy83
Статус: Бакалавр
Рейтинг: 1675
∙ повысить рейтинг »
Megaloman
Статус: Профессионал
Рейтинг: 1204
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Программирование / Basic/VBA

Номер выпуска:1021
Дата выхода:14.05.2010, 11:30
Администратор рассылки:Калашников О.А., Руководитель
Подписчиков / экспертов:237 / 83
Вопросов / ответов:1 / 1

Вопрос № 178295: Уважаемые эксперты подскажите, открыв Интернет Эксплоер из файла, можно ли при помощи ВБА и как организовать поиск слова на странице и выделить его, или курсор чтобы находился у него, открываю файл по скрипту: Dim IE As Object Set IE = Crea...



Вопрос № 178295:

Уважаемые эксперты подскажите, открыв Интернет Эксплоер из файла, можно ли при помощи ВБА и как организовать поиск слова на странице и выделить его, или курсор чтобы находился у него, открываю файл по скрипту:

Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate "D:\Рабочая папка\УПК РФ.mht" 'открывает указанный согласно адреса .... и имени ... файл
Sleep 1000 'задержка, то есть пауза выражается в миллисекундах, 1000 миллисекунд это 1 секунда
Do While IE.ReadyState <> 4 'нужно писать <> 4, потому что это код, который показывает, что ВЭБ страница полностью загружена. Так написано в документации по ReadyState
Loop
DoEvents
IE.Visible = True 'открывает, делает видимым Микрософт Интернет Эксплоер
IE.Document.Title = "УПК РФ" 'заголовок WEB страницы, указывется в самом верху страницы
apiShowWindow IE.hwnd, SW_MAXIMIZE 'сделать окно IE во весь экран, для своей работы должна быть добавлена apiShowWindow Lib
Set IE = Nothing 'установка объекта в значение Nothing требуется для освобождения памяти, которая была выделена для нового объекта

Сразу оговорюсь, жто нижеследующий вариант открытия файла:
Shell "C:\Program Files\Internet Explorer\IEXPLORE.EXE " + "D:\Рабочая папка\УПК РФ.mht", vbNormalFocus
меня не устраивает, потому, что при таком открытии в заголовке страницы появляется что угодно, можно ли заголовок страницы при таком варианте открытия файла изменить, а также можно ли фокус Normal изменить на Maximize???? У меня не получилось. Спасибо

Отправлен: 09.05.2010, 11:16
Вопрос задал: Ципихович Эндрю, Посетитель
Всего ответов: 1
Страница вопроса »


Отвечает Измалков Эдуард Леонидович, 6-й класс :
Здравствуйте, Ципихович Эндрю.
Как выяснилось при уточнении вопроса в мини-форуме задача состоит в том, чтобы на html-странице найти ссылку с определенным текстом и перейти по ней. Это можно сделать следующим способом:

Код:
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 'это к од, который показывает, что ВЭБ страница полностью загружена
DoEvent
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

Ответ отправил: Измалков Эдуард Леонидович, 6-й класс
Ответ отправлен: 14.05.2010, 09:45
Номер ответа: 261377

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 261377 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.14 от 03.03.2010

    В избранное