mail mail

Интернет

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

Функция VBA для выполнения веб-запроса (Web Query)

Функция GetQueryRange предназначена для автоматизации загрузки данных с веб-страниц.

Например, нам надо из макроса Excel получить данные с нескольких однотипных страниц сайта.

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

Поскольку количество обращений ко мне, с просьбами сделать программу загрузки данных из интернета, с каждым днём растёт, я решил сделать для этих целей универсальную функцию:

 

Sub ПримерИспользования()
    Dim ra As Range: On Error Resume Next
   
    Set ra = GetQueryRange("http://ExcelVBA.ru/", 6)
    Debug.Print ra.Address    ' переменная ra содержит ссылку на диапазон ячеек $A$1:$C$15,
   ' содержащий данные 6-й таблицы главной страницы сайта ExcelVBA.ru

    Set ra = GetQueryRange("http://excelvba.ru/sitemap.xml")
    Debug.Print ra.Address    ' теперь переменная ra содержит ссылку на диапазон ячеек $A$1:$D$502,
   ' содержащий данные карты сайта ExcelVBA.ru

End Sub

Определение IP адреса и страны по доменному имени

Макрос определения страны и IP адреса по доменному имени

Макрос предназначен для вывода IP адресов и названий стран, на основании столбца с доменными именами.

В прикреплённом файле - 2 способа реализации:

1) по доменному имени определяется IP адрес (посредством команды PING - выполнения ICMP запроса),
а затем определяется страна (по IP адресу), с использованием сервиса smart-ip.net

2) используется только сервис smart-ip.net
Отправляется запрос на указанный сервис, и из полученных данных вычленяются IP адрес и название страны.

 

Поиск в Google значений из ячеек листа Excel

Макрос для поиска текста выделенных ячеек в Google

Макрос предназначен для поиска текста из выделенных ячеек в поисковой системе Google.

Функция поиска доступна из контекстного меню ячеек:

добавление пункта поиска в контекстное меню ячеек Excel

Как вы можете видеть на скриншоте, есть возможность выбора браузера.
На выбор представлены наиболее популярные браузеры: Internet Explorer, Mozilla Firefox, Opera, и Google Chrome.

Работа с FTP из VBA (без использования WinAPI)

Представляю вашему вниманию инструментарий для работы с файлами по FTP, не требующий использования системных функций (WinAPI)

Как известно, отправить файл на FTP сервер (или загрузить файл с FTP, создать папку на FTP сервере, и т.д.) можно при помощи таких API-функций из библиотеки wininet.dll, как FtpPutFile, FtpGetFile, FtpRenameFile, FtpDeleteFile, FtpRemoveDirectory, FtpCreateDirectory, FtpFindFirstFile и т.д.

Как именно использовать эти функции - можете посмотреть в коде надстройки для отправки файлов Excel на FTP сервер

В чем недостаток этого способа - так это в необходимости обеспечения совместимости кода с различными платформами.
В частности, чтобы код с функциями API работал и в Office 2010, и в 64-битной Windows, необходимо заметно увеличить объём кода. А, поскольку описание этих функций из wininet.dll и без того занимает много места (а универсальный код вообще займёт сотню строк), да и надо ещё и разбираться во всех этих функциях, т.к. в разных версиях Windows возможны различия в способе вызова функций из wininet.dll, и были созданы аналоги этих функций для работы с FTP, не использующие WinAPI

Сподвигла меня на это решение необходимость реализации средств обновления надстроек Excel, где необходимо было реализовать функционал отправки файлов Excel на FTP сервер, причем так, чтобы это стабильно работало на всех компьютерах. Попутно, кстати, родилась и функция загрузки файла с сервера без использования WinAPI, которая тоже вошла в состав данного инструментария.

 

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

Автоматическое обновление книг и надстроек Excel

Форма настроек программы, выбора устанавливаемых обновлений, активации надстройки

Программа предназначена для реализации возможности автоматического и ручного обновления надстроек Excel, а также разграничения доступа и регистрации (активации) программного продукта.

Особенности данного решения:

 

Скачать файл из интернета без использования WinAPI

Часто требуется макросом скачать некий файл из интернета.
Обычно в этом помогает WinAPI-функция URLDownloadToFile, но есть также возможность загрузить файл без её использования:

Чем чревато использование функции URLDownloadToFile - по сути, ничем, кроме как необходимостью прописывать её в 4 вариантах,
для обеспечения совместимости с 64-битной Windows и Office 2010

Я же предлагаю другое решение - функцию DownloadFile с использованием объектов Microsoft.XMLHTTP и ADODB.Stream:

 

Sub ПримерИспользования()
    СсылкаНаФайл$ = "http://excelvba.ru/sites/default/files/3.jpg"
    ПутьДляСохранения$ = "C:\ПЖиВ.jpg"

    ' скачиваем файл из интернета
   DownloadFile СсылкаНаФайл$, ПутьДляСохранения$

    ' открываем скачанный файл
   CreateObject("wscript.shell").Run """" & ПутьДляСохранения$ & """"
End Sub

Загрузка списка ЛНК с сайта oaontc.ru

Скриншот программы загрузки списка ЛНК с сайта

Программа предназначена для загрузки информации о лабораториях неразрушающего контроля в сайта oaontc.ru

 

На первом этапе (при нажатии кнопки «Ссылки») программа разгружает список из нескольких тысяч ссылок из результатов поиска по сайту

(обрабатываются результаты поиска более чем на 100 страницах):

 

Программа формирования прайс-листов для каталога Onliner.by

Форма подбора соответствия для модели ноутбука

Программа предназначена для формирования прайс-листов на ноутбуки с соответствии с требованиями интернет-каталога Onliner.by

Основные функции программы:

(учитываются цены фирм-конкурентов, цены onliner.by и надбавка фирмы)

  • загрузка каталога ноутбуков (названия, характеристики, цены) с сайта onliner.by в файл Excel, и обновление этого каталога
  • назначение соответствий моделей ноутбуков
  • (моделям с Onliner назначаются соответствия из внтуреннего каталога компании)

  • загрузка прайс-листов фирм-конкурентов для сравнительного анализа цен
  • автоматическое формирование цен на модели ноутбуков из внутреннего каталога компании
  • создание прайс-листа в формате каталога Onliner.by (экспорт в CSV) с последующей отправкой созданного файла на сервер по FTP

 

При назначении соответствий моделей есть возможность указать наличие модели на складе, тип расчёта, и срок гарантии.

Поддерживаются 2 типа соответствия - полное, и неполное. (для неполного соответствия можно указать отличие моделей)

 

Посмотреть все скриншоты программы

Отправка писем из Excel при помощи почтовой программы TheBAT!

Отправка почты из Excel при помощи TheBAT!

Макроc предназначен для автоматизированной рассылки почты из Excel.

Для рассылки используется почтовая программа TheBAT!

(подразумевается, что эта программа на компьютере установлена и настроена, т.е. без проблем удаётся вручную создать в TheBAT письмо, и отправить его на произвольный адрес)

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

В прикреплённом примере макрос формирует тему письма из значения ячейки второго столбца

Поиск информации о фильмах, и импорт данных из интернета

Характеристики фильмов с сайта Кинопоиск

Эта программа позволяет найти в интернете (на сайте kinopoisk.ru), и вывести в таблицу Excel характеристики фильмов

(такие, как: год выпуска, страна, слоган, режиссер, сценарий, продюсер фильма, оператор, композитор, жанр, продолжительность и т.д. и т.п.)

Исходными данными для программы является столбец с названиями фильмов.

 

RSS-материал