Макросы VBA Excel — Страница 10

Работа с FTP из VBA

Представляю вашему вниманию инструментарий для работы с файлами по FTP

Как известно, отправить файл на 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, который предоставляет вам следующие функции:

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

Часто требуется макросом скачать некий файл из интернета.

Функция импорта данных из HTML файлов

Функция FileQueryRange предназначена для импорта данных из файлов HTML

Например, если нам надо макросом Excel получить данные из писем, созданных в HTML формате, то эта функция как раз нам и поможет

Форма авторизации для проектов VBA

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

 

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

 

Программа допускает создание неограниченного числа пользователей, каждый из которых принадлежит к одной из следующих групп:
пользователь, уверенный пользователь, администратор, разработчик.
(количество групп при желании можно легко увеличить до 9999)

Поиск цен на Яндекс.Маркете

Результат поиска цен на ноутбуки на Яндекс.Маркете по PartNumber

Программа (3 модуля класса + примеры их использования) предназначена для поиска товаров в Яндекс.Маркете, с последующей загрузкой результатов поиска.

Исходными данными является название (или модель, PartNumber, и т.п.) товара.

 

На выходе код выдаёт информацию о результатах поиска - 10 (или более) позиций искомого товара,
где для каждой позиции указаны следующие характеристики:

  • цена (в рублях)
  • наименование продавца (название организации)
  • название товара у этого продавца
  • ссылка на страницу с описанием товара (цена, наличие, условия поставки, описание)

В настройках можно задавать регион для поиска (код региона, или название города \ области \ страны \ континента)

Возвращаемые позиции отсортированы по цене - в порядке её возрастания
(сначала идут самые дешевые товары)

Смотрите также расширенную версию программы поиска цен на Яндекс.Маркете,
с возможностью загрузки цен как по названиям товаров, так и по ссылкам на Яндекс.маркет

Во время запроса данных с сайта Яндекса отображается прогресс-бар.

Во вложении (пароль на проект VBA - 1 (единица)) - пример запроса цен на ноутбуки (исходными данными являются их парт-номера)