Карыснасць для праграміста VBA

Калі вы вымаўляеце слова «макрасы» з прыдыхам жаху і націскам на другім складзе, а фраза «Visual Basic for Applications» гучыць для вас як загавор, то гэты артыкул не для вас. У любым выпадку, пакуль 🙂

Калі ў вас ёсць хаця б некаторы вопыт праграмавання макрасаў на VBA ў Excel, і вы не плануеце спыняцца, то прыведзены ніжэй выбар карысных надбудоў і праграм павінен быць (хаця б часткова) вам карысны.

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

Пасля ўстаноўкі ў рэдактары VBE у меню інструменты з'явіцца падменю MZ-інструменты і новая панэль інструментаў для хуткага доступу да тых жа функцый:

Карыснасць для праграміста VBA

Ён многае ўмее. З самых каштоўных, на мой погляд:

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

Адназначны must-have для праграміста любога ўзроўню. Калі ў вас апошняя версія 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 Diff

Moqups і Wireframe Sketcher – прататыпаванне інтэрфейсу

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

Для гэтых задач існуе велізарная колькасць платных і бясплатных праграм рознага ўзроўню складанасці і магутнасці. Я перакаштаваў каля дзясятка такіх праграм і сэрвісаў, апошнім часам часцей за ўсё карыстаюся Моккі:

Карыснасць для праграміста VBA

Гэта інтэрнэт-рэдактар, які:

  • Не патрабуе ўстаноўкі асобных праграм. Вы заўсёды можаце прыехаць у офіс кліента і адкрыць-паказаць-падкарэктаваць створаны інтэрфейс прама на сайце.
  • Змяшчае ўсе асноўныя элементы дыялогавых вокнаў (меткі, кнопкі, спісы і г.д.) у версіях для Windows і Mac.
  • Дазваляе экспартаваць створаны інтэрфейс у фарматы PNG або PDF або адправіць спасылку кліенту для прагляду ў інтэрнэце.
  • Фактычна бясплатна. Ёсць абмежаванні на колькасць графічных элементаў, але мне ні разу не ўдалося іх выйсці. Калі ў вас не хапае месца або вы хочаце захоўваць некалькі буйных праектаў адначасова, вы заўсёды можаце перайсці на прэміум-версію за 99 долараў у год.

Увогуле, для задач распрацоўніка на VBA - больш чым дастаткова, я думаю.

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

Карыснасць для праграміста VBA

Пасля бясплатнага дэма-перыяду на працягу 2 тыдняў ён папросіць вас купіць за тыя ж 99 долараў.

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

спасылка на запампоўку Каркасны эскізнік

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 кліентам, замяняючы тры гадзіны дурной працы, той мяне зразумее 🙂

І многае іншае. 

Усе вышэйпералічаныя праграмы - выключна мой асабісты выбар і асабістыя рэкамендацыі, заснаваныя на асабістым вопыце. Ніхто з аўтараў не прасіў у мяне рэкламу і не плаціў за яе (і я з прынцыпу не браў бы). Калі вам ёсць што дадаць да вышэйпададзенага спісу – запрашаем у каментары, удзячнае чалавецтва не застанецца ў даўгу.

 

Пакінуць каментар