зміст
- MZ-Tools – «швейцарський ніж» для програміста
- Smart Indenter – автоматичний відступ у коді
- VBE Tools – мікроналаштування елементів у формах
- VBA Diff – пошук відмінностей у коді
- Moqups і Wireframe Sketcher – прототипування інтерфейсу
- Invisible Basic – обфускатор коду
- Code Cleaner – очищення коду
- Редактор XML стрічки
- PS
Якщо ви вимовляєте слово «макрос» з жахом і наголосом на другому складі, а фраза «Visual Basic for Applications» звучить для вас як заклинання, то ця стаття не для вас. У всякому разі, поки 🙂
Якщо у вас є хоча б деякий досвід програмування макросів на VBA в Excel, і ви не плануєте зупинятися, то добірка корисних надбудов і програм, наведена нижче, повинна бути вам (хоча б частково) корисною.
MZ-Tools – «швейцарський ніж» для програміста
Після встановлення в редакторі VBE в меню інструменти з’явиться підменю MZ-Інструменти і нова панель інструментів для швидкого доступу до тих же функцій:
Він багато чого вміє. З найцінніших, як на мене:
- Автоматично додавати «порожню рибу» для створення процедур, функцій, обробників подій і помилок із правильним іменуванням змінних відповідно до угорської системи.
- Скопіюйте елементи керування у форми користувача разом із їхнім кодом.
- Робіть закладки (Вибране) для процедур і швидко переходьте до них у великому проекті.
- Розділіть довгі рядки коду на кілька та зберіть назад (розділіть та об’єднайте рядки).
- Видача детальної статистики по проекту (кількість рядків коду, процедур, елементів на формах і т.д.)
- Перевірте проект на наявність невикористаних змінних і процедур (Переглянути джерело)
- Створіть власну базу шаблонів коду (Code Templates) для типових випадків і швидко вставте їх у нові макроси пізніше.
- Автоматично створюйте довгий і страшний рядок для підключення до зовнішніх джерел даних через ADO.
- Додайте гарячі клавіші до будь-якої функції з надбудови.
Однозначний must have для програміста будь-якого рівня. Якщо у вас остання версія Office, то обов'язково завантажте останню версію MZ-Tools 3.00.1218 від 1 березня, тому що. виправлено помилку при роботі з Excel 2013.
посилання на скачування MZ-Інструменти
Smart Indenter – автоматичний відступ у коді
Він добре виконує одну просту, але дуже необхідну операцію – автоматично робить відступи табуляції в коді VBA, чітко виділяючи вкладені цикли, перевірки умов тощо.
Дуже зручно призначити цю дію будь-якій зручній комбінації клавіш у розділі Параметри відступів і зробити це одним дотиком.
На жаль, автор програми відмовився від неї в 2005 році (чому, Карл!?) і остання версія на сайті для Excel 97-2003. Однак програма досить добре працює з новими версіями. Єдине застереження: якщо у вас Excel 2013, то перед встановленням Smart Indenter необхідно спочатку встановити останню версію MZ-Tools, т.к. містить динамічну бібліотеку, необхідну для роботи Indenter.
посилання на скачування Розумний індентор
VBE Tools – мікроналаштування елементів у формах
Вирівнювання елементів керування (кнопок, полів введення, текстових написів тощо) на складній формі може бути проблемою. Стандартна прив'язка до сітки редактора через меню Інструменти — Параметри — Загальні — Вирівняти елементи керування відповідно до сітки іноді це не дуже допомагає, а навіть починає заважати, особливо якщо потрібно трохи посунути, наприклад, кнопку. Допоможе в цьому надбудова VBE Tools, яка після інсталяції відображає просту панель, де можна точно налаштувати розмір і положення на формі для вибраного елемента:
Зміщення позиції також можна виконати за допомогою Alt+стрілки, а зміну розміру — за допомогою Shift+Alt+стрілки та Ctrl+Alt+стрілки.
Крім того, клацнувши елемент правою кнопкою миші, ви можете негайно перейменувати його разом із кодом.
посилання на скачування Інструменти VBE
VBA Diff – пошук відмінностей у коді
Цей інструмент, ймовірно, буде більш корисним для професійних програмістів VBA під час створення великих і складних проектів або спільної розробки. Його основна функція — порівняти два проекти та візуально відобразити різницю в коді між ними:
Є 30-денний безкоштовний період, а потім аддон зажадає за нього 39 фунтів стерлінгів (близько 3.5 тисяч рублів за поточним курсом).
Відверто кажучи, вона стала в нагоді в моєму житті всього 3-4 рази на надвеликих проектах, але потім заощадила кілька днів і купу нервових клітин 🙂 Ну і завжди, звичайно, є безкоштовна альтернатива: експортувати код у текстовий файл (клацніть правою кнопкою миші по модулю – Експорт) і порівняйте їх пізніше в Microsoft Word за допомогою команди Огляд – порівняння документів, але за допомогою VBA Diff це на порядок зручніше.
посилання на скачування VBA Diff
Moqups і Wireframe Sketcher – прототипування інтерфейсу
При створенні складних інтерфейсів взаємодії з користувачем дуже зручно заздалегідь спроектувати приблизний вигляд діалогових вікон, тобто виконати макетування. Насправді це виявляється набагато простіше, ніж потім переробляти готові форми та їх код. Пам’ятаю, якось в одному з проектів замовник попросив зробити «меню», тобто «вкладки». Півдня роботи на вітер 🙁
Для цих завдань існує величезна кількість платних і безкоштовних програм різного рівня складності та потужності. Перепробував близько десятка таких програм і сервісів, останнім часом користуюся найчастіше Мокери:
Це онлайн-редактор, який:
- Не потребує встановлення окремих програм. Ви завжди можете приїхати в офіс клієнта і відкрити-показати-відкоригувати створений інтерфейс прямо на сайті.
- Містить усі основні елементи діалогових вікон (написи, кнопки, списки тощо) у версіях для Windows і Mac.
- Дозволяє експортувати створений інтерфейс у форматах PNG або PDF або надіслати клієнту посилання для перегляду онлайн.
- Фактично безкоштовно. Є обмеження на кількість графічних елементів, але мені ніколи не вдавалося їх вийти. Якщо у вас не вистачає місця або ви хочете зберігати кілька великих проектів одночасно, ви завжди можете перейти на преміум-версію за 99 доларів на рік.
Загалом, для завдань розробника на VBA – більш ніж достатньо, я думаю.
Якщо комусь принципово потрібен офлайн варіант (працювати без інтернету на березі моря, наприклад), то рекомендую Каркасний ескізник:
Після безкоштовного демо-періоду протягом 2 тижнів він попросить вас купити за ті ж 99 доларів.
Посилання на Мокери
посилання на скачування Каркасний ескізник
Invisible Basic – обфускатор коду
На жаль, неможливо надійно заблокувати вихідний код ваших макросів за допомогою пароля в Microsoft Excel. Однак існує цілий клас програм, які називаються обфускатори (З англ. затуманювати – заплутати, заплутати), які змінюють вигляд коду VBA таким чином, що його буде надзвичайно важко прочитати та зрозуміти, а саме:
- імена змінних, процедур і функцій замінюються довгими безглуздими наборами символів або, навпаки, короткими буквеними незрозумілими позначеннями
- відступи візуальної табуляції видалено
- видаляються або, навпаки, випадково розміщуються розриви рядків тощо.
Чесно кажучи, я не прихильник використання цих методів. Зокрема, з PLEX я вирішив, що краще давати покупцям повної версії відкритий, зрозумілий і прокоментований вихідний код – мені це здається правильніше. Тим не менш, у моїх колег-програмістів неодноразово були випадки, коли така програма була б дуже корисна (програміст зробив роботу, але клієнт не заплатив і т.д.) Так що якщо вона вам потрібна, знайте, де її взяти. «Ми мирні люди, але наш бронепоїзд…» і все таке.
Завантажити Invisible Basic
Code Cleaner – очищення коду
У процесі роботи над проектом (особливо, якщо він великий і тривалий) в модулях і формах коду починає накопичуватися «сміття» – уривки службової інформації редактора VBE, які можуть призвести до неочікуваних і небажаних збоїв. Утиліта Очищувач коду очищає цей бруд простим, але надійним способом: експортує код із модулів у текстові файли, а потім чисто імпортує його назад. Дуже рекомендую при роботі над великими проектами періодично проводити таку «чистку».
посилання на скачування Очищувач коду
Редактор XML стрічки
Якщо ви хочете створити власну вкладку з красивими кнопками на стрічці Excel для запуску ваших макросів, то вам не обійтися без інтерфейсного редактора файлів XML. Безумовно, найбільш зручною і потужною на сьогоднішній день в цьому плані є вітчизняна програма. Редактор XML стрічкистворив Максим Новіков.
Абсолютно чудове програмне забезпечення, яке:
- дозволить вам легко додавати власні вкладки, кнопки, розкривні списки та інші елементи нового інтерфейсу Office на стрічку
- fully supports language
- допомагає редагувати, відображаючи контекстні підказки
- можна легко засвоїти на уроках
- абсолютно безкоштовно
посилання на скачування Редактор XML стрічки
PS
Протягом багатьох років Microsoft відверто ігнорувала розробників VBA, вважаючи її, мабуть, нижчою мовою програмування. Періодично ходять чутки, що в наступній версії Office більше не буде Visual Basic або його замінить JavaScript. Нові версії Visual Studio регулярно виходять із новими перевагами, а редактор VBE застряг у 1997 році, досі не маючи змоги робити відступи в коді стандартними інструментами.
Насправді тисячі людей економлять години й дні завдяки програмістам VBA, які створюють макроси для автоматизації повсякденної обробки офісних даних. Той, хто бачив, як макрос в 10 рядках коду відправляє файли 200 клієнтам за півхвилини, замінюючи три години дурної роботи, той мене зрозуміє 🙂
І багато іншого.
Усі перераховані вище програми є виключно моїм особистим вибором і особистими рекомендаціями на основі особистого досвіду. Ніхто з авторів не просив у мене реклами і не платив за неї (і я б не брався, з принципу). Якщо вам є що додати до наведеного вище списку – ласкаво просимо в коментарі, вдячне людство не залишиться в боргу.