Как с помощью VBA извлекать информацию из Web-страниц
Вторая особенность использования Internet Explorer заключается в многообразии библиотек, содержащих компоненты необходимой объектной модели. Одинаковых результатов можно достигнуть с помощью различных инструментов, поэтому прежде всего следует ознакомиться с составом той или иной библиотеки, доступными свойствами, методами и событиями для одноименных объектов.
Обращение к Internet Explorer
После того как объект Internet Explorer надлежащим образом определен, можно перейти к процедурам главного модуля проекта. Поскольку предполагается параллельная работа, не обойтись без глобальных переменных, служащих для хранения информации между вызовами процедур. В нашем случае их три:
После определения необходимых переменных можно приступить к программированию процедур, первая из которых создает новый экземпляр приложения Internet Explorer:
При открытии Internet Explorer устанавливаются два свойства: Silent и Visible. Свойство Silent разрешает или запрещает диалоговое общение Internet Explorer с пользователем, а свойство Visible определяет видимость окна Internet Explorer на экране дисплея. По умолчанию Internet Explorer запускается невидимым.
Вторая процедура выполняет прямо противоположные действия. Internet Explorer закрывается с помощью метода Quit, объектная переменная освобождается, и флаг открытого состояния сбрасывается:
Обработка HTML-документа
В рассмотренной процедуре обработки документа выполняется хорошо знакомая всем офисным программистам конструкция For Each… Next. С помощью этой конструкции осуществляется просмотр всего множества ссылок в документе с целью выделения и печати ссылок с полным URL. Нечто подобное можно использовать и при анализе страниц порталов и поисковых систем.
После цикла обработки ссылок помещены два оператора, печатающие различные представления документа в целом. Аналогичные свойства можно использовать для разбора как текста, так и HTML-кода, с помощью собственного алгоритма.
Реализация процесса
Если попытаться сформулировать требования к монитору, то получится, что эта программа должна обеспечивать следующие функции:
- открывать и закрывать Internet Explorer, в том числе и по желанию пользователя;
- хранить и обновлять список URL, запланированных для обработки;
- хронометрировать продолжительность загрузки отдельной страницы и всего сеанса работы с Internet;
- запускать очередной процесс навигации как после завершения обработки очередной страницы, так и по истечении заданного лимита времени;
- переключать режим визуального отображения окна Internet Explorer;
- отображать состояние процесса загрузки очередной страницы.
К этим требованием можно добавить и ведение протокола процесса, если, конечно, процедуры обработки не предусматривают вывод результатов непосредственно в открытые документы Office.
Совершенно очевидно, что для удовлетворения всех требований вполне подходит форма VBA c обычными элементами управления, оснащенная таймером. Пример такой формы приведен на рисунке.
Из приведенного описания программы-монитора и соответствующей формы становится ясно, что ключевую функцию в процессе несет процедура, вызываемая таймером. Именно в этой процедуре происходят анализ состояния, визуальное отображение и переключение процесса. Полный текст этой процедуры приведен ниже:
Надеюсь, что приведенные примеры послужат хорошим подспорьем для разработчиков офисных приложений и стимулируют создание интересных проектов, использующих неисчерпаемый источник информации — Internet.
[expert_bq id=»1570″]Компания специализируется на решениях по восстановлению паролей и предлагает ряд Windows-программ к разным популярным форматам. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq] Если же в вашем файле установлен «Пароль на открытие», то всё содержимое документа зашифровано с помощью этого пароля и придётся искать (aka восстанавливать) оригинальную парольную фразу.Как сделать активной книгу excel vba?
- открывать и закрывать Internet Explorer, в том числе и по желанию пользователя;
- хранить и обновлять список URL, запланированных для обработки;
- хронометрировать продолжительность загрузки отдельной страницы и всего сеанса работы с Internet;
- запускать очередной процесс навигации как после завершения обработки очередной страницы, так и по истечении заданного лимита времени;
- переключать режим визуального отображения окна Internet Explorer;
- отображать состояние процесса загрузки очередной страницы.
Функции и операторы доступа к файлам. Ряд функций и операторов может быть применен для файлов всех трех типов, а некоторые работают только с файлами одного или двух типов. Со всеми типами доступа к файлам используют следующие :