Uvod u VBA
VBA (Visual Basic for Applications) je programski jezik koji se nalazi „ispod haube“ MS Office aplikacija. Samim tim, on je deo Excel-a i omogućava korisnicima da kreiraju nove funkcije, uvedu dodatne funkcionalnosti i izvrše automatizaciju rada sa svojim tabelama. Ovo je prvi od tekstova u kojima ću pokušati da vas naučim osnovama VBA programiranja. Pre nego što se odlučite da programirate naučite dobro Excel i pokušajte da saznate da li to što želite da dobijete već postoji!
Program je skup komandi koje zadajemo računaru, a izvršavaju se u zadatom redosledu. On često sadrži promenljive. Njih je najbolje opisati ih kao delove memorije koji imaju zadatak da čuvaju vrednosti kako bi mogli, na lakši način, da sa njima izvršavamo artimetičke operacije. Pošto programi umeju da budu prilično složeni često je zgodno podeliti ih na manje celine- potprograme, koje kasnije pozivamo iz glavnog programa. Potprograme zovemo funkcijama i procedurama.
VBA je objektno-orijentisan programski jezik. U pitanju je savremen koncept programiranja koji se svodi na manipulaciju objektima, a karakterišu ga četiri osobine:
- Svojstva (Properties)
- Metode (Methods)
- Događaji (Events)
- Kolekcije (Collections)
Svojstva (Properties) su promenljive unutar nekog objekta koje ga bolje opisuju. Npr. ako je objekat prozor, to mogu da budu promenljive koje sadrže podatke o visini, širini, poziciji prozora… Metode (Methods) su delovi koda koji se izvršavaju kada se za to steknu neophodni uslovi, odnosno kada se dese događaji (Events). Na kraju, Kolekcije (Collections) predstavljaju skupove više objekata istog tipa, npr. radni listovi u Excel-u.
Svaki put kada kreirate makro Excel automatski u pozadini generiše VBA kod. Makro može da bude nezavistan skup instrukcija, a mogu ga aktivirati i određeni događaji. Npr. klik na dugme, otvaranje padajuće liste, pozicioniranje iznad objekta… Makroe menjamo ulaskom u VBA Editor, što može da se postigne klikom na ikonicu Visual Basic u Developer traci alata ili, mnogo praktičnije, pritiskom kombinacije tastera ALT+F11.
VBA Editor je razvojno okruženje koje se otvara u zasebnom prozoru a koristi se za dodavanje objekata, manipulaciju sa njima i pisanje programa. Kada ga pokrenete sa njegove leve strane videćete meni gde je, u gornjem delu, prikazano stablo objekata u Excel-u (Project Explorer). Objekat na najvišem nivou hijerarhije se zove VBAProject. Zatim slede kolekcije objekata: Microsoft Excel Objects, Forms, Modules… Kada kliknete na neki od objekata, u listi ispod (Properties) možete da gledate i menjate njegova svojstva. Centralni deo prozora čini oblast u koju unosimo VBA programe (Code). Neke od ovih menija možete privremeno da sakrijete ili da ih ponovo prikažete što se postiže uz pomoć opcija iz View menija koje se nalaze ispod naslovne trake. Ovde se nalazi i opcija Object Browser koja olakšava pretraživanje postojećih objekata, njihovih svojstava i metoda.
Kreiranjem makroa napravićete potprogram (subroutine) koji će se pojaviti u jednom od modula (Module). Module možete da dodajete i samostalno kako bi ste pisali sopstvene programe, a moguće je kreirati i kolekcije modula (Class Module). Ponekad ćete želeti da napravite maske (Forms) kako bi ste olakšali unos podataka u tabele. Njih, kao i module, dodajete uz pomoć opcija koje se nalaze u Insert meniju.
Kada napišete program njime upravljate uz pomoć ikonica koje podsećaju na one kojima puštate muldimedijalne sadržaje (Run, Break, Reset), a nalaze se u Run meniju. Ako se, prilikom pisanja programa, načine greške njihovo otkrivanje je najlakše uz pomoć opcija u Debug meniju…
Na kraju, potrebno je snimiti promene što činimo pomoću opcije Save koja se nalazi u File meniju. Bitno je naglasiti da se, radni listovi koji sadrže makroe, snimaju kao XLSM datoteke. Njih Excel tretira kao potencijalno opasne, pa da bi ste mogli da radite sa makroima proverite bezbednosna podešavanja.
Ovo je bio (nespretan) uvod u VBA, a u tekstovima koji slede moći ćete da naučite nešto više o Excel objektima i pisanju VBA programa.