Инструменты разработчика VBA
Представляю вашему вниманию инструментарий для работы с файлами по FTP, не требующий использования системных функций (WinAPI)Как известно, отправить файл на FTP сервер (или загрузить файл с FTP, создать папку на FTP сервере, и т.д.) можно при помощи таких API-функций из библиотеки wininet.dll, как FtpPutFile, FtpGetFile, FtpRenameFile, FtpDeleteFile, FtpRemoveDirectory, FtpCreateDirectory, FtpFindFirstFile и т.д. Как именно использовать эти функции - можете посмотреть в коде надстройки для отправки файлов Excel на FTP сервер В чем недостаток этого способа - так это в необходимости обеспечения совместимости кода с различными платформами. Сподвигла меня на это решение необходимость реализации средств обновления надстроек Excel, где необходимо было реализовать функционал отправки файлов Excel на FTP сервер, причем так, чтобы это стабильно работало на всех компьютерах. Попутно, кстати, родилась и функция загрузки файла с сервера без использования WinAPI, которая тоже вошла в состав данного инструментария. Основу предлагаемого мной решения составляет модуль класса FTPcommander, который предоставляет вам следующие функции:
|
|||
Форма авторизации предназначена для разграничения прав пользователей при работе с документами Office, содержащими макросы.
При помощи данного инструмента вы можете реализовать различные пользовательские интерфейсы для сотрудников различных групп доступа, а также разграничить права отдельных пользователей программы.
Программа допускает создание неограниченного числа пользователей, каждый из которых принадлежит к одной из следующих групп:
|
|||
Данный прогресс-бар позволяет отображать ход выполнения любого макроса.Для использования этого индикатора перетащите из файла-примера в свой файл модуль класса ProgressIndicator и форму F_Progress Использовать прогресс бар сравнительно просто - достаточно добавить в макрос несколько строк кода:
|
|||
Надстройка samradDatePicker (русифицированная) для облегчения ввода даты в ячейки листа Excel.Добавляет в контекстное меня ячеек пункт выбора даты, а при выделении ячеек, содержащих дату, справа от ячейки отображает значок календаря.Поместите файл надстройки из вложения в папку автозагрузки Excel (C:\Program Files\Microsoft Office\OFFICExx\XLSTART).В контекстном меню ячеек появляется новый пункт - "Выбрать дату из календаря".
|
|||
Программа (3 модуля класса + примеры их использования) предназначена для поиска товаров в Яндекс.Маркете, с последующей загрузкой результатов поиска.Исходными данными является название (или модель, PartNumber, и т.п.) товара.
На выходе код выдаёт информацию о результатах поиска - 10 (или более) позиций искомого товара,
|
|||
Программа содержит 4 модуля класса, позволяющие при помощи несложного кода подключаться к различному оборудованию по протоколу Telnet, и выполнять требуемый набор команд. Команды могут включать в себя значения из диапазона ячеек листа Excel, или же загружаться из внешнего файла. Примерно так можно задать настройки подключения к конкретному оборудованию: Function UNIT() As Telnet_Equipment ' функция возвращает все необходимые настройки для подключения к оборудованию ' в ввиде объекта типа Telnet_Equipment Set UNIT = New Telnet_Equipment With UNIT .Name = "АТС UNIT-004" .IP = "192.168.64.122" .Port = 6701 .Login = "user" .Password = "password" .ResponseBeforeLogin = "*004*" .ResponseLogonSucceed = "*Делайте ваш выбор*>*" .Prompt = "*" & vbNewLine & ">" & vbNewLine With .LogonCommands .AddCommand "ytermenter", "*Ваше имя >*", "", 2000 .AddCommand .Equipment.Login, "*Ваш пароль >*", "", 200 .AddCommand .Equipment.Password, "*Делайте ваш выбор*", "", 1000 End With End With End Function
|
|||
Надстройка предназначена для быстрого просмотра кодов символов текста, введённого в ячейку.Порой бывают ситуации, когда формулы поиска и сравнения выдают неожиданный результат - одинаковые с виду ячейки для формул оказываются разными. И вот в этих случаях на помощь приходит эта надстройка. С её помощью вы быстро обнаружите, что в похожих ячейках одни и те же буквы набраны в разных раскладках или в разных кодировках, а также сможете отличить обычный пробел (с кодом 32) от неразрывного (с кодом 160). Пользоваться надстройкой очень просто - выделите ячейку, содержащую анализируемый текст, и нажмите комбинацию клавиш Ctrl + Alt + Shift + C При выделении на форме результатов позиции с кодом символа - этот символ подсвечивается (выделяется синим) в поле с содержанием текстовой строки. Можно открыть сразу несколько окон просмотра - выделяйте различные ячейки, и для каждой из них нажимайте вышеозвученную комбинацию на клавиатуре:
|
|||
Прикреплённая к статье надстройка содержит модуль, который может создавать панель инструментов любой сложности при запуске файла. На панель можно добавлять как обычные кнопки, так и раскрывающиеся выпадающие списки, подменю, текстовые поля. Формирование панели инструментов происходит при загрузке файла, при закрытии же его - созданная панель скрывается: Private Sub Workbook_Open() ФормированиеПанелиИнструментов End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) GetCommandBar(PROJECT_NAME, True).Visible = False End Sub Основной код модуля:
|
|||

