Разработка надстройки Macro Tools VBA – для автоматизации процесса создания макросов в VBE MS Excel

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Доброго времени суток!

Предыстория – личный опыт

Хочу поделиться своим опытом использования надстроек, которые позволяют автоматизировать процесс  разработки макросов в Visual Basic Editor MS Excel (далее VBE). В результате которого я разработал свою надстройку для разработки макросов VBA.

В процессе работы с существующими «com» – надстройками (Smart Indenter, VBE Tools, Invisible Basic), столкнулся со следующими трудностями:

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

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

●     отсутствие версий надстроек, совместимых  с 64 bit версиями MS Excel, что создает ограничение в использовании либо MS Excel 64 bit либо надстройки.

●     большинство надстроек остались в далеком прошлом, и на текущий момент не поддерживаются авторами.

По полученному личному опыту использования надстроек был сформирован перечень свойств, которыми должна обладать надстройка для MS Excel VBA:

●     должна быть конструктором – давать пользователю возможность самому расширять или сокращать функционал надстройки

●      поддерживать все версии MS Excel, в том числе  32 и 64 - разрядные

●     установка и удаление без участия администратора

●     открытый исходный код – с точки безопасности, хочется знать, что там внутри!

По функционалу хотелось получить надстройку способную, не много, приблизить VBA к современным средам разработки (IDE). А именно автоматическое форматирование стиля кода, авто нумерация строк кода, использование сниппетов при написании кода. 

Разработка надстройки

Разработанная надстройка имеет следующие преимущества, по сравнению с другими инструментами разработки в VBA:

Параметры

xlam

com

дополнительное ПО при изменении кода надстройки

не нужно

нужно

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

да

нет

поддержка версии Excel 32 bit и 64 bit

один установочный файл

два установочных файла

знание дополнительных ЯП

не нужно

нужно

создание диалоговых окон для редактора VBE

нет

да

Создание «горячих клавиш» для редактора VBE

Решено с использование AutoHotkey, написана подключаемая dll

да

Так же для использования преимуществ «com» надстроек был разработан модуль подключения различных «dll» библиотек, которые значительно расширяют данную надстройку. Но несут ограничения, описанные выше.

В итоге получилась надстройка «конструктор», в которой функционал легко расширяется как инструментами встроенными MS Excel, так и «dll» библиотеками. Что позволяет легко комбинировать нужный функционал надстройки.

В процессе разработки использовался: Ribbon XML Editor - редактор XML файлов интерфейса, инструмент для создания собственной вкладки в ленте MS Excel со встроенным редактором кода VBA.

ИТОГ: Надстройка – Macro Tools VBA

Панель инструментов надстройки Macro Tools VBA в Excel
Панель инструментов надстройки Macro Tools VBA в Excel
Панель инструментов надстройки Macro Tools VBA в редакторе кода VBE
Панель инструментов надстройки Macro Tools VBA в редакторе кода VBE

В результате разработки надстройки «Macro Tools VBA», удалось реализовать следующие инструменты:

●     настройка шаблона «стиля» кода, по которому будет автоматически выполняться форматирование кода отступами

Инструмент форматирования кода
Инструмент форматирования кода

●     сниппеты – хранилище готовых шаблонов кода, которые часто используются при написании макросов

Инструмент использования сниппетов кода
Инструмент использования сниппетов кода

●     автонумерация строк кода

Инструмент автонумерации строк кода
Инструмент автонумерации строк кода

●     настройка LOG-файлов, процесса выполнения программы VBA

●     микро подстройка элементов форм

●     конструкторы процедур, сообщений (MsgBox) и форматов числовых данных

●     снятие паролей с листов книги Excel и проектов VBA

●     статистика кодовой базы

●     и другие инструменты

Заключение

В результате получился инструмент, не уступающий по функционалу существующим надстройкам, но лишенный недостатков описанных в данной статье.

Кому интересна, надстройка то её можно получить тут: Macro Tools VBA – инструменты разработки макросов VBATools

Для желающих поковыряться в коде GitHub репозитории надстройки: https://github.com/vbatools/MacroToolsVBA

Спасибо за внимание!

 

Источник: https://habr.com/ru/post/720806/


Интересные статьи

Интересные статьи

История перьевой ручки — это прежде всего история большого бизнеса, а потому богата легендами и апокрифами, которые всегда сопровождают любой большой бизнес и создаются им же для самоутверждения. Отде...
Данное руководство позволит оценить требующийся уровень знаний для инженеров по автоматизации и инженер по разработке ПО в тестировании (SDET). Статья содержит конкретные критерии, кото...
Фиксация различных нарушений, контроль доступа, розыск и отслеживание автомобилей – лишь часть задач, для которых требуется по фотографии определить номер автомобиля (гос...
Того датчика, что слева я уже касался на страницах хабра, поэтому сегодня поговорим о его младших собратьях. Когда задумываешь новый стартап, порой кажется, что в области электронных прибор...
Однажды, в понедельник, мне пришла в голову мысль — "а покопаюсь ка я в новом ядре" (новым относительно, но об этом позже). Мысль не появилась на ровном месте, а предпосылками для нее стали: ...