Korisnost za VBA programere

Ako riječ "makroi" izgovarate s dahom užasa i akcentom na drugom slogu, a fraza "Visual Basic za aplikacije" vam zvuči kao čarolija, onda ovaj članak nije za vas. U svakom slučaju, za sada 🙂

Ako imate barem malo iskustva u programiranju makronaredbi u VBA u Excelu, a ne planirate stati, onda bi vam izbor korisnih dodataka i programa u nastavku trebao (barem djelomično) biti od koristi.

MZ-Tools – „švajcarski nož“ za programera

Nakon instalacije u VBE editor u meniju alat će se pojaviti podmeni MZ-Alati i nova alatna traka za brzi pristup istim funkcijama:

Korisnost za VBA programere

On zna da uradi mnogo. Od najvrednijih, po mom mišljenju:

  • Automatski dodajte “praznu ribu” da kreirate procedure, funkcije, rukovaoce događajima i greškama sa ispravnim imenovanjem varijabli prema mađarskom sistemu.
  • Kopirajte kontrole na korisničkim obrascima zajedno sa njihovim kodom.
  • Napravite bookmark (Favorite) za procedure i brzo pređite na njih u velikom projektu.
  • Podijelite dugačke redove koda na nekoliko i sastavite natrag (razdvojite i kombinirajte linije).
  • Izdavanje detaljne statistike o projektu (broj linija koda, procedure, elementi na obrascima, itd.)
  • Provjerite ima li u projektu neiskorištenih varijabli i procedura (Izvor pregleda)
  • Kreirajte vlastitu bazu predložaka koda (Code Templates) za tipične slučajeve i brzo ih umetnite u nove makroe kasnije.
  • Automatski kreirajte dugačak i zastrašujući niz za povezivanje s vanjskim izvorima podataka putem ADO-a.
  • Pričvrstite prečice na bilo koju funkciju iz dodatka.

Nedvosmislen must-have za programera bilo kog nivoa. Ako imate najnoviju verziju Officea, onda obavezno preuzmite najnoviju verziju MZ-Tools 3.00.1218 od 1. marta, jer. ispravljena je greška pri radu sa Excelom 2013.  

link za download MZ-Alati

Smart Indenter – automatsko uvlačenje u kodu

Dobro radi jednu jednostavnu, ali vrlo potrebnu operaciju – automatski uvlači tabove u VBA kodu, jasno naglašavajući ugniježđene petlje, provjeru uslova itd.

Korisnost za VBA programere

Vrlo je zgodno dodijeliti ovu radnju bilo kojoj prikladnoj prečici na tastaturi u odjeljku Opcije uvlačenja i uradite to jednim dodirom.

Nažalost, autor programa ga je napustio 2005. (zašto, Carl!?) i najnovija verzija na sajtu je za Excel 97-2003. Međutim, program radi prilično dobro s novijim verzijama. Jedino upozorenje: ako imate Excel 2013, onda prije instaliranja Smart Indenter morate prvo instalirati najnoviju verziju MZ-Toolsa, jer. sadrži dinamičku biblioteku neophodnu za Indenterov rad.

link za download Smart Indenter

VBE Tools – mikro-tuning elementi u formama

Poravnavanje kontrola (dugmad, polja za unos, tekstualne oznake, itd.) na složenom obrascu može biti muka u guzici. Standardno vezivanje za mrežu uređivača preko menija Alati — Opcije — Općenito — Poravnajte kontrole sa mrežom ponekad ne pomaže mnogo, pa čak i počne da smeta, posebno ako treba da pomerite, na primer, dugme samo malo. Dodatak VBE Tools će pomoći u ovom pitanju, koji nakon instalacije prikazuje jednostavnu ploču na kojoj možete fino podesiti veličinu i položaj na obrascu za odabrani element:

Korisnost za VBA programere

Pomeranje pozicije se takođe može uraditi sa Alt+strelicama, a promena veličine sa Shift+Alt+strelice i Ctrl+Alt+strelice.

Takođe, desnim klikom na element, možete ga odmah preimenovati zajedno sa kodom.

link za download VBE Tools

VBA Diff – Pronalaženje razlika u kodu

Ovaj alat će vjerovatno biti korisniji profesionalnim VBA programerima prilikom kreiranja velikih i složenih projekata ili zajedničkog razvoja. Njegova glavna funkcija je usporediti dva projekta i vizualno prikazati razliku u kodu između njih:

Korisnost za VBA programere

Postoji besplatan period od 30 dana, a zatim će dodatak tražiti da platite 39 funti za njega (oko 3.5 hiljada rubalja po trenutnom kursu).

Iskreno govoreći, u životu mi je dobro došao samo 3-4 puta na super velikim projektima, ali mi je onda uštedio nekoliko dana i puno nervnih ćelija 🙂 Pa, uvijek postoji, naravno, besplatna alternativa: izvezite kod u tekstualnu datoteku (desni klik modulo – izvoz) i uporedite ih kasnije u programu Microsoft Word pomoću naredbe Pregled – uporedi dokumente, ali uz pomoć VBA Diffa to je za red veličine zgodnije.

link za download VBA Diff

Moqups i Wireframe Sketcher – izrada prototipa interfejsa

Prilikom kreiranja složenih interfejsa za interakciju korisnika, veoma je zgodno unapred dizajnirati približan izgled dijaloških okvira, tj. prototip. U stvari, ispostavilo se da je to mnogo lakše nego kasnije ponavljati gotove obrasce i njihov kod. Sjećam se da je jednom u jednom od projekata kupac tražio da napravi „meni“, što znači „kartice“. Pola dana rada u vodu 🙁

Postoji ogroman broj plaćenih i besplatnih programa različitih nivoa složenosti i snage za ove zadatke. Isprobao sam desetak takvih programa i servisa, a u posljednje vrijeme najčešće koristim moqups:

Korisnost za VBA programere

Ovo je online uređivač koji:

  • Ne zahtijeva instalaciju zasebnih programa. Uvijek možete doći u kancelariju klijenta i otvoriti-show-ispraviti kreirani interfejs direktno na sajtu.
  • Sadrži sve glavne elemente dijaloških okvira (oznake, dugmad, liste, itd.) u verzijama za Windows i Mac.
  • Omogućava vam da izvezete kreirano sučelje u PNG ili PDF formatima ili pošaljete link klijentu za pregled na mreži.
  • Zapravo besplatno. Postoje ograničenja u broju grafičkih elemenata, ali nikada nisam uspio preko njih. Ako vam ponestane prostora ili želite pohraniti nekoliko velikih projekata odjednom, uvijek možete nadograditi na premium verziju za 99 USD godišnje.

Generalno, za zadatke programera u VBA – više nego dovoljno, mislim.

Ako je nekome suštinski potrebna offline opcija (na primjer da radi bez pristupa internetu na obali mora), onda preporučujem Wireframe Sketcher:

Korisnost za VBA programere

Nakon besplatnog demo perioda od 2 sedmice, on će od vas tražiti da kupite za istih 99 dolara.

link za moqups

link za download Wireframe Sketcher

Invisible Basic – obfuskator koda

Nažalost, nije moguće bezbedno zaključati izvorni kod vaših makroa lozinkom u programu Microsoft Excel. Međutim, postoji čitava klasa programa tzv obfuscatori (Sa engleskog. zamutiti – zbuniti, zbuniti), koji mijenjaju izgled VBA koda na takav način da će ga biti izuzetno teško pročitati i razumjeti, i to:

  • imena varijabli, procedura i funkcija zamjenjuju se dugim besmislenim skupovima znakova ili, obrnuto, kratkim abecednim nerazumljivim oznakama
  • uvlačenja vizuelne tabele su uklonjena
  • uklanjaju se ili se, obrnuto, nasumično postavljaju prijelomi reda, itd.

Iskreno, nisam ljubitelj korištenja ovih metoda. Konkretno, kod PLEX-a sam odlučio da bi kupcima pune verzije bilo bolje dati otvoren, razumljiv i komentarisan izvorni kod – tako mi se čini ispravnijim. Ipak, moji kolege programeri su u više navrata imali slučajeve kada bi takav program bio veoma koristan (programer je uradio posao, a klijent nije platio itd.) Pa ako vam zatreba, znajte gde da ga nabavite. “Mi smo mirni ljudi, ali naš oklopni voz…” i sve to.

Preuzimanje Invisible Basic

Code Cleaner – čišćenje koda

U procesu rada na projektu (naročito ako je velik i dugačak), u modulima i oblicima koda počinje se gomilati „smeće“ – ostaci servisnih informacija VBE editora koji mogu dovesti do neočekivanih i neželjenih kvarova. Utility Code Cleaner čisti ovu prljavštinu na jednostavan, ali pouzdan način: izvozi kod iz modula u tekstualne fajlove, a zatim ga čisto uvozi nazad. Toplo preporučujem da kada radite na velikim projektima, povremeno provodite takvo "čišćenje".

link za download Code Cleaner

Ribbon XML Editor

Ako želite da kreirate sopstvenu karticu sa prelepim dugmadima na Excel traci za pokretanje vaših makroa, onda ne možete bez interfejsa za uređivanje XML datoteka. Definitivno, najpovoljniji i najmoćniji danas je domaći program u tom pogledu. Ribbon XML Editorkreirao Maxim Novikov.

Korisnost za VBA programere

Apsolutno odličan softver koji:

  • će vam omogućiti da jednostavno dodate svoje kartice, dugmad, padajuće liste i druge elemente novog Office interfejsa na traku
  • u potpunosti podržava jezik
  • pomaže pri uređivanju prikazujući kontekstualne savjete
  • može se lako savladati lekcijama
  • potpuno besplatno

link za download Ribbon XML Editor

PS

Dugi niz godina, Microsoft je očigledno ignorisao VBA programere, smatrajući ga, očigledno, inferiornim programskim jezikom. Povremeno kruže glasine da sljedeća verzija Officea više neće imati Visual Basic ili će je zamijeniti JavaScript. Nove verzije Visual Studio-a redovno izlaze sa novim dodacima, a VBE editor je zaglavio 1997. godine, i dalje nije mogao da uvuče kod sa standardnim alatima.

U stvarnosti, hiljade ljudi štede sate i dane zahvaljujući VBA programerima koji kreiraju makroe za automatizaciju svakodnevne rutine obrade kancelarijskih podataka. Svako ko je vidio kako makro u 10 linija koda šalje fajlove do 200 klijenata za pola minute, zamjenjujući tri sata glupog rada, razumjet će me 🙂

I više. 

Svi navedeni programi su isključivo moj lični izbor i lična preporuka na osnovu ličnog iskustva. Niko od autora nije tražio od mene reklamu i nije je platio (a ja je iz principa ne bih prihvatio). Ako imate nešto da dodate na gornju listu – dobrodošli u komentare, zahvalno čovječanstvo neće ostati dužno.

 

Ostavite odgovor