Можно ли из Excel c помощью VBA загрузить веб страницу?

html excel VBA макрос веб-старница

Есть веб страница (html) с определенными структурированными данными - например список товаров и цен. Их нужно анализировать. Есть ли в VBA функции для загрузки веб-страниц?
Ответы:
В VBA нет специальных функций для работы с сетью (VBA всё таки не VB.Net :)). Но подобного рода задачи возможно решить на VBA, причём это можно сделать двумя способами:
1) Первый способ относительно прост и не требует знания VBA. Для его реализации необходимо создать WEB запрос (Данные/Импорт внешних данных/Создать веб-запрос) который вернёт на лист Excel всю необходимую информацию (справку по озданию web запросов можно найти в helpe Excel)
2) Второй способ требует знания VBA и соответственно позволяет более гибко обработать HTML страницу. Для его реализации необходимо создать VBA форму. На форму необходимо добавить визуальный элемент Microsoft Web Browser (щёлкнуть правой кнопкой мыши на панели элементов управления, из раскрывшегося меню выбрать Additional Controls и на против Microsoft Web Browser поставить крестик). После добавления на форму данного элемента управления, вы получаете неограниченный доступ к интернету на VBA :). Вы можете загружать и обрабатывать страницы, управлять событиями браузера и т.д. и т.п. Для более тонкой обработки, возможно тебе понадобится также библиотека Microsoft HTML Object Library (MSHTML), обычно находящаяся по адресу C:\WINDOWS\ SYSTEM\MSHTML.tlb. Данная библиотека содержит объектную модель HTML-документов, открытых в Internet Explorer. Именно с этой объектной моделью взаимодействуют функции JavaScript, JScript и VBScript, используемые в Web-страницах. В проекте VBA необходимо подключить ссылку на эту библиотеку с помощью команды. Думаю для 10 баллов за ответ этого достаточно. Напоследок приведу несколько ссылок на статьи по данной тематике.
Способов много. Но у каждого свои ньюансы.
Как реализовать в VBA?
Сделать вручную то, что надо. Код увидеть при записи макроса. Подправить под свои нужды.


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.