Полезность для программиста VBA

Если вы произносите слово «макросы» с придыханием ужаса и ударением на втором слоге, а фраза «Visual Basic для приложений» звучит для вас как заклинание, то эта статья не для вас. Во всяком случае, пока 🙂

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

MZ-Tools – «швейцарский нож» для программиста

После установки в редакторе VBE в меню инструменты появится подменю MZ-Инструменты и новая панель инструментов для быстрого доступа к тем же функциям:

Полезность для программиста VBA

Он умеет многое. Из наиболее ценных, на мой взгляд:

  • Автоматически добавлять «белую рыбку» для создания процедур, функций, обработчиков событий и ошибок с правильным именованием переменных по венгерской системе.
  • Копируйте элементы управления в пользовательских формах вместе с их кодом.
  • Делайте закладки (Избранное) для процедур и быстро перемещайтесь к ним в большом проекте.
  • Разбить длинные строки кода на несколько и собрать обратно (разделить и объединить строки).
  • Выдавать подробную статистику по проекту (количество строк кода, процедур, элементов на формах и т.д.)
  • Проверьте проект на наличие неиспользуемых переменных и процедур (Источник обзора)
  • Создайте собственную базу шаблонов кода (Code Templates) для типовых случаев и быстро вставляйте их в новые макросы в дальнейшем.
  • Автоматически создавайте длинную и пугающую строку для подключения к внешним источникам данных через ADO.
  • Прикрепите горячие клавиши к любой функции из дополнения.

Однозначный must-have для программиста любого уровня. Если у вас последняя версия Офиса, то обязательно скачайте последнюю версию MZ-Tools 3.00.1218 от 1 марта, т.к. исправлена ​​ошибка при работе с Excel 2013.  

Ссылка для скачивания MZ-Инструменты

Smart Indenter – автоматический отступ в коде

Он хорошо выполняет одну простую, но очень нужную операцию — автоматически делает отступы табуляции в коде VBA, четко выделяет вложенные циклы, проверки условий и т. д.

Полезность для программиста VBA

Очень удобно назначить это действие на любое удобное сочетание клавиш в разделе Параметры отступов и сделать это одним касанием.

К сожалению, автор программы отказался от нее в 2005 году (почему, Карл!?) и последняя версия на сайте - для Excel 97-2003. Однако программа вполне хорошо работает и с более новыми версиями. Единственный нюанс: если у вас Excel 2013, то перед установкой Smart Indenter необходимо сначала установить последнюю версию MZ-Tools, т.к. он содержит динамическую библиотеку, необходимую для работы Indenter.

Ссылка для скачивания Умный индентор

VBE Tools – элементы микронастройки в формах

Выравнивание элементов управления (кнопок, полей ввода, текстовых меток и т. д.) в сложной форме может оказаться затруднительной задачей. Стандартная привязка к сетке редактора через меню Инструменты — Параметры — Общие — Выровнять элементы управления по сетке иногда это не особо помогает и даже начинает мешать, особенно если нужно сдвинуть, например, кнопку совсем чуть-чуть. В этом деле поможет дополнение VBE Tools, которое после установки отображает простую панель, где можно точно настроить размер и положение на форме для выбранного элемента:

Полезность для программиста VBA

Смещение положения также можно выполнить с помощью Alt+стрелок, а изменение размера — с помощью Shift+Alt+стрелки и Ctrl+Alt+стрелки.

Также, щелкнув правой кнопкой мыши по элементу, вы можете переименовать его сразу вместе с кодом.

Ссылка для скачивания Инструменты VBE

VBA Diff – поиск различий в коде

Этот инструмент, вероятно, будет более полезен профессиональным программистам VBA при создании больших и сложных проектов или совместной разработке. Его основная функция — сравнить два проекта и визуально отобразить разницу в коде между ними:

Полезность для программиста VBA

Есть 30-дневный бесплатный период, после чего дополнение попросит заплатить за него 39 фунтов (около 3.5 тысяч рублей по текущему курсу).

Честно говоря, в моей жизни он пригодился всего раза 3-4 на сверхбольших проектах, но потом сэкономил мне несколько дней и кучу нервных клеток 🙂 Ну и всегда есть, конечно, бесплатная альтернатива: экспортировать код в текстовый файл (щелкните правой кнопкой мыши по модулю – Экспортировать) и сравните их позже в Microsoft Word с помощью команды Обзор – сравнение документов, но с помощью VBA Diff на порядок удобнее.

Ссылка для скачивания Разница VBA

Moqups и Wireframe Sketcher – прототипирование интерфейса

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

Для этих задач существует огромное количество платных и бесплатных программ разного уровня сложности и мощности. Я перепробовал около десятка таких программ и сервисов и в последнее время чаще всего использую Мокапы:

Полезность для программиста VBA

Это онлайн-редактор, который:

  • Не требует установки отдельных программ. Вы всегда можете прийти в офис к клиенту и открыть-показать-исправить созданный интерфейс прямо на сайте.
  • Содержит все основные элементы диалоговых окон (метки, кнопки, списки и т. д.) в версиях для Windows и Mac.
  • Позволяет экспортировать созданный интерфейс в форматы PNG или PDF или отправить ссылку клиенту для просмотра онлайн.
  • Фактически бесплатно. Есть ограничения на количество графических элементов, но выйти за их пределы мне ни разу не удалось. Если вам не хватает места или вы хотите хранить несколько крупных проектов одновременно, вы всегда можете перейти на премиум-версию за 99 долларов в год.

В общем, для задач разработчика на VBA — более чем достаточно, я думаю.

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

Полезность для программиста VBA

После бесплатного демо-периода на 2 недели он предложит купить за те же $99.

Ссылка на Мокапы

Ссылка для скачивания Каркасный эскиз

Invisible Basic — обфускатор кода

К сожалению, в Microsoft Excel невозможно надежно заблокировать исходный код ваших макросов паролем. Однако существует целый класс программ под названием обфускаторы (С англ. запутывать – сбивать с толку, сбивать с толку), которые изменяют внешний вид кода VBA таким образом, что его будет крайне сложно читать и понимать, а именно:

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

Честно говоря, я не сторонник использования подобных методов. В частности, в случае с PLEX я решил, что покупателям полной версии лучше будет дать открытый, понятный и прокомментированный исходный код — мне это кажется более правильным. Тем не менее, у моих коллег-программистов неоднократно были случаи, когда такая программа была бы очень полезна (программист выполнил работу, но клиент не заплатил и т.п.) Так что если она вам нужна, знайте, где ее взять. «Мы мирные люди, но наш бронепоезд…» и все такое.

Скачать Невидимый базовый

Code Cleaner – очистка кода

В процессе работы над проектом (особенно если он большой и длинный) в модулях и формах кода начинает накапливаться «мусор» — обрывки служебной информации редактора VBE, что может привести к неожиданным и нежелательным сбоям. Полезность Очиститель кода чистит эту гадость простым, но надежным способом: экспортирует код из модулей в текстовые файлы, а потом чисто импортирует обратно. Очень рекомендую при работе над большими проектами периодически проводить такую ​​«чистку».

Ссылка для скачивания Очиститель кода

XML-редактор ленты

Если вы хотите создать собственную вкладку с красивыми кнопками на ленте Excel для запуска ваших макросов, то вам не обойтись без интерфейсного редактора XML-файлов. Однозначно, наиболее удобной и мощной на сегодняшний день является отечественная программа в этом плане. XML-редактор лентыавтор Максим Новиков.

Полезность для программиста VBA

Совершенно замечательное программное обеспечение, которое:

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

Ссылка для скачивания XML-редактор ленты

PS

На протяжении многих лет Microsoft откровенно игнорировала разработчиков VBA, считая его, видимо, худшим языком программирования. Периодически проскакивают слухи, что в следующей версии Office больше не будет Visual Basic или его заменит JavaScript. Новые версии Visual Studio выходят регулярно с новыми вкусностями, а редактор VBE застрял в 1997 году, так и не имея возможности делать отступы в коде стандартными инструментами.

В действительности, тысячи людей экономят часы и дни благодаря программистам VBA, создающим макросы для автоматизации повседневных процедур обработки офисных данных. Кто видел, как макрос в 10 строк кода отправляет файлы 200 клиентам за полминуты, заменяя три часа тупой работы, меня поймет 🙂

И многое другое. 

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

 

Оставьте комментарий