Гиперссылки

Парсер сайтов и файлов (парсинг данных с сайта в Excel)

Структура программы «Парсер сайтов»

Надстройка Parser для Excel — простое и удобное решение для парсинга любых сайтов (интернет-магазинов, соцсетей, площадок объявлений) с выводом данных в таблицу Excel (формата XLS* или CSV), а также скачивания файлов.

Восстановление форматирование гиперссылок

Если вы выделили ячейки с гиперссылками, и случайно изменили их форматирование (цвет шрифта и т.п.),
а теперь хотите вернуть все гиперссылки в книге к исходному виду (синие и подчеркнутые), — то вам поможет этот макрос.

ВНИМАНИЕ: макрос применяется ко всем листам, и всем ячейкам, содержащим гиперссылки.

Sub RestoreHyperlinksStyle()
    Dim cell As Range, sh As Worksheet
    Application.ScreenUpdating = False
    For Each sh In ActiveWorkbook.Worksheets
        For Each cell In sh.UsedRange.SpecialCells(xlCellTypeConstants)

Преобразование URL национального домена в punycode

При использовании компонента WinHTTPrequest для выполнения запроса к сайту,
требуется предварительно преобразовать URL национальных доменов с использованием метода Punycode.

PS: если вы загружаете исходный код вебстраницы с использованием WinAPI функции URLDownloadToFile, - подобное преобразование не обязательно

Sub ПримерИспользования_ConvertURLtoPunycode()
    Dim host$, newURL$
 
    ' исходная ссылка
    host$ = "http://государство.президент.рф/советы"
 
    ' результат преобразования: "http://xn--80aebe3cdmfdkg.xn--d1abbgf6aiiy.xn--p1ai/%D1%81%D0%BE%D0%B2%D0%B5%D1%82%D1%8B"
    newURL$ = ConvertURLtoPunycode(host$)
    MsgBox newURL$
End Sub

Автор функции преобразования: Achim Neubauer
Источник: www.herber.de/forum/archiv/1192to1196/1192164_Punycode_Unicode.html

Для использования функции, добавьте в проект стандартный модуль, и в него вставьте следующий код:

Функция для добавления GET-параметра в ссылку (URL)

Если требуется добавить в URL новый GET-параметр, или заменить значение имеющегося, - можно воспользоваться этой функцией.

Sub ПримерИспользования()
    URL$ = "http://market.yandex.ru/model.xml?modelid=968028&np=0"
 
    URL$ = URL_SetParameter(URL$, "how", "aprice") ' такого параметра нет - он добавляется
    URL$ = URL_SetParameter(URL$, "np", "1") ' такой параметр есть - он заменяется
    
    Debug.Print URL$
    ' на выходе получаем ссылку
    ' <a href="http://market.yandex.ru/model.xml?modelid=968028&hid=512743&how=aprice&np=1
End" title="http://market.yandex.ru/model.xml?modelid=968028&hid=512743&how=aprice&np=1
End">http://market.yandex.ru/model.xml?modelid=968028&hid=512743&how=aprice&n...</a> Sub

Код функции:

Скачивание файла с сайта с авторизацией

Пример макроса для скачивания файла с авторизацией.

Для его работы, надо подключить библиотеку Microsoft WinHTTP Services (version 5.1.) в меню Tools - References

Сначала выполняется POST-запрос для авторизации,
потом GET-запрос для скачивания файла

Поиск Вконтакте: программа поиска по новостям, с выводом результатов в Excel

Результаты поиска в соц.сети Вконтакте (vk.com) по новостям (вывод в таблицу Excel)

Программа выполняет поиск заданного текста в социальной сети Вконтакте (vk.com)

 

Исходными данными являются:

  • поисковый запрос (произвольная текстовая строка)
  • дата, до достижения которой нас интересуют найденные сообщения

 

Загрузка списка ссылок на файлы XML с сайта ftp.zakupki.gov.ru

Скриншот программы загрузки списка файлов с FTP сервера ftp.zakupki.gov.ru

Макрос предназначен для получения таблицы ссылок на файлы аукционов (в формате XML) с портала ftp.zakupki.gov.ru

 

Программа выполняет подключение к FTP-серверу ftp.zakupki.gov.ru, используя логин и пароль «free»,
получает список всех файлов во всех подпапках, и выводит на лист ссылки только на те файлы,
имена которых соответствуют заданным маскам.

Получение координат по адресам, через сервис Google API

Поиск координат по адресам в Google Maps

Программа позволяет загрузить координаты для списка адресов в таблице Excel

Исходными данными выступает столбец с адресами объектов (город, улица, номер дома)

Программа выполняет запрос к сервису geocode через Google API,
и получает информацию об объекте в формате XML

(полный адрес с индексом, правильное название района, города и улицы, координаты объекта — широту и долготу),
и выводит результаты (в данном случае - только координаты: LON и LAT) в таблицу Excel (в столбцы справа)

Надстройка для вставки картинок (изображений) в Excel

Поиск изображений в папке, с последующей вставкой на лист Excel

Надстройка позволяет искать в выбранной папке изображения, основываясь на содержимом ячеек таблицы Excel, и производить вставку найденных изображений в соседние ячейки (или в примечания к этим ячейкам).

Кроме того, надстройка умеет скачивать изображения по ссылкам, сохраняя загруженные изображения в заданной папке, и вставлять картинки в примечания к ячейкам.

Внимание:

21.08.2011 надстройка обновлена - добавлены новые функции, устранены недостатки, учтены ваши пожелания и замечания.
06.10.2012 надстройка полностью переработана - добавлено меню и новые функции, встроена поддержка обновлений.
24.01.2013 добавлена функция поиска недостающих картинок в Google - теперь, за считанные минуты, можно наполнить прайс-лист подходящими фотографиями товара.
18.03.2013 реализовано сжатие вставляемых картинок - причем не только при вставке в ячейки, но и в примечания.
24.04.2016 настройка переведена на новый движок, а также восстановлена работа поиска изображений в Google.

Особенности надстройки:

  • поиск картинок в подпапках (глубина поиска по подпапкам не ограничена)
  • установка выбранного пользователем размера для вставляемых изображений
  • отображение состояния поиска и вставки изображений (прогресс-бар)
  • вывод результатов обработки таблицы (сколько изображений вставлено, сколько не найдено)
  • добавление гиперссылок к вставляемым изображениям (по щелчку на картинке открывается исходный файл)
  • 2 режима поиска файлов - по точному совпадению имени файла, и по началу имени файла-изображения
  • 2 режима вставки картинок - подгонка размеров под ячейку, или соблюдение пропорций исходного изображения
  • вывод количества файлов в выбранной папке
  • возможность выбора столбца с названиями файлов, и указания номера столбца для вставляемых изображений
  • возможность вставки изображений в комментарии к ячейкам
  • поиск недостающих фотографий товара в Google (в т.ч. поиск по заданным сайтам)
  • режим вставки изображений сразу в несколько столбцов

 

Программа загрузки списка файлов со значениями из них

Список файлов из заданной папки со значениями ячеек из этих файлов

Программа предназначена для получения списка файлов Excel из заданной папки, и загрузки итоговых значений из каждого найденного файла

В отдельной ячейке задаётся путь к папке, которая будет просмотрена в поисках файлов Excel
(c расширением .xls)

При формировании списка файлов проставляются гиперссылки на найденные файлы, указывается дата создания файла.

Из каждого файла загружаются значения с заданных листов из определённых ячеек
(итоговые значения таблиц, для формирования сводной таблицы)