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

Ако произнасяте думата „макроси“ с дъх на ужас и акцент върху втората сричка, а фразата „Visual Basic за приложения“ ви звучи като заклинание, тогава тази статия не е за вас. Във всеки случай, засега 🙂

Ако имате поне известен опит в програмирането на макроси във VBA в Excel и не планирате да спирате, тогава изборът на полезни добавки и програми по-долу трябва да бъде (поне частично) полезен за вас.

MZ-Tools – “швейцарско ножче” за програмист

След инсталация във VBE редактора в менюто инструментите ще се появи подменю MZ-Инструменти и нова лента с инструменти за бърз достъп до същите функции:

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

Той знае как да направи много. От най-ценните според мен:

  • Автоматично добавяне на „празна риба“ за създаване на процедури, функции, манипулатори на събития и грешки с правилното именуване на променливите според унгарската система.
  • Копирайте контролите на потребителските формуляри заедно с техния код.
  • Направете отметки (Любими) за процедури и бързо преминете към тях в голям проект.
  • Разделете дълги редове код на няколко и ги сглобете обратно (разделете и комбинирайте редове).
  • Издаване на подробна статистика за проекта (брой редове код, процедури, елементи във формуляри и др.)
  • Проверете проекта за неизползвани променливи и процедури (Преглед на източника)
  • Създайте своя собствена база от кодови шаблони (Code Templates) за типични случаи и бързо ги вмъкнете в нови макроси по-късно.
  • Автоматично създаване на дълъг и страшен низ за свързване към външни източници на данни чрез ADO.
  • Прикрепете бързи клавиши към всяка функция от добавката.

Недвусмислено трябва да имате за програмист от всяко ниво. Ако имате най-новата версия на Office, не забравяйте да изтеглите последната версия на 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 - повече от достатъчно, мисля.

Ако някой има фундаментална нужда от офлайн опция (да работи без достъп до интернет на брега на морето, например), тогава препоръчвам Wireframe Sketcher:

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

След безплатен демо период за 2 седмици, той ще ви помоли да купите за същите $99.

Линк към Мокопи

Изтегляне на връзката Wireframe Sketcher

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

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

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

Честно казано, не съм привърженик на използването на тези методи. По-специално, с PLEX реших, че е по-добре да дам на купувачите на пълната версия отворен, разбираем и коментиран изходен код – това ми се струва по-правилно. Въпреки това моите колеги програмисти многократно са имали случаи, когато такава програма би била много полезна (програмистът е свършил работата, но клиентът не е платил и т.н.), така че ако имате нужда от нея, знайте къде да я вземете. „Ние сме мирни хора, но нашият брониран влак…“ и всичко това.

Изтегли Invisible Basic

Code Cleaner – почистване на код

В процеса на работа по проект (особено ако е голям и дълъг), в кодовите модули и формуляри започва да се натрупва „боклук“ – фрагменти от сервизна информация за VBE редактор, които могат да доведат до неочаквани и нежелани проблеми. полезност Почистващ код почиства тази мръсотия по прост, но надежден начин: експортира кода от модули в текстови файлове и след това го импортира чисто обратно. Силно препоръчвам, когато работите по големи проекти, периодично да извършвате такова „почистване“.

Изтегляне на връзката Почистващ код

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

Ако искате да създадете свой собствен раздел с красиви бутони на лентата на Excel, за да стартирате вашите макроси, тогава не можете да правите без редактор на XML файлове с интерфейс. Определено най-удобната и мощна днес е домашната програма в това отношение. XML редактор на лентатасъздаден от Максим Новиков.

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

Абсолютно прекрасен софтуер, който:

  • ще ви позволи лесно да добавяте свои собствени раздели, бутони, падащи списъци и други елементи от новия интерфейс на Office към лентата
  • напълно поддържа езика
  • помага при редактиране чрез показване на контекстни съвети
  • може лесно да се овладее чрез уроци
  • напълно безплатно

Изтегляне на връзката XML редактор на лентата

PS

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

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

И още. 

Всички горепосочени програми са чисто мой личен избор и лична препоръка въз основа на личен опит. Никой от авторите не ми е искал реклама и не е плащал за нея (и аз по принцип не бих я приел). Ако имате какво да добавите към горния списък – добре дошли в коментарите, благодарното човечество няма да остане длъжно.

 

Оставете коментар