Kreiranje programskih dodataka u aplikaciji Microsoft Excel korišćenjem VBA
1. Uvod
Američka kompanija Microsoft, je 1993. godine predstavila programski jezik
“Microsoft Visual Basic for Applications“ ili skraćeno VBA. Od tada VBA je konstantno
unapređivan tako da je danas aktuelna verzija 7.1. Mnogi VBA poistovjećuju sa “Visual
Basic“ programskim jezikom (VB) koji je takođe razvila kompanija Microsoft ili sa skript
jezikom VBScript. Međutim VBA se razlikuje i od VB i od VBScript jezika. VB je znatno
moćniji programski jezik od VBA koji je više prilagođen kreiranju aplikacija za tačno
određenu namjenu.
VBA najčešće se koristi u aplikacijama iz Microsoft Office paketa sa ciljem da se
automatizuju i unaprijede određene funkcionalnosti. Razvijanjem nezavisnih Windows
aplikacija, omogućeno je dodatno prilagođavanje aplikacija potrebama korisnika. Jedan
primjer takve aplikacije biće prezentovan u ovom specijalističkom radu. Osim u
aplikacijama iz Microsoft office paketa, VBA se danas primjenjuje i u mnogim drugim
aplikacijama poput Microsoft MapPoint, Microsoft Visio, AutoCad ili SolidWorks, ali i
mnogim drugim.
U ovom radu biće prezentovana kastimizovana funkcija - funkcija koja je sačuvana kao
programski dodatak (engl. add-in) kao i aplikacija pop up kalendar koja je sačuvana kao
programski dodatak.
U drugom poglavlju ovog rada biće objašnjena veza VBA sa Microsoft Excel
aplikacijom kao dijela Microsoft Office paketa za koji su rađeni programski dodaci. U
ovom poglavlju biće detaljno objašnjen način kriranja programskih dodataka, instalacije,
testiranja, distribucije, izmjene, kao i manipulisanje programskim dodacima.
Razumijevanje rada sa programskim dodacima optimizuje rad u Excel-u.
U trećem poglavlju su opisane funkcije koje su kreiranje kao programski dodaci, dat je
i njihov kod. U četvrtom poglavlju dat je zaključak.
1

Svi korisnici Excela mogu kreirati programski dodatak kao Excel workbook fajl,
nijesu potrebni dodatni softveri i programski alati. Radne sveske se mogu konvertovati u
programski dodatak, ali nije svaka prikladna za programski dodatak. Excel programski
dodatak
od normalnog
XLSM workbooka
razlikuju sledeće osobine:
IsAddin
osobina
ThisWorkbook
je postavljena na
True
. Podrazumjevano ona je
False
.
Workbook
prozor je sakriven, u slučaju da je potrebna njegova vidljivost koristite
komandu
View/Window/Unhide command.
Iako programski dodatak nije član
Workbooks collection
možete mu pristupiti
preko
Workbooks collection.
Možete instalirati ili deinstalirati programski dodatak korišćenjem Add-Ins dijalog
boksa
.
Da bi otvorili ovaj prozor koistite komandu
File/Options/Add-Ins.
Onda u
Excel dijalog boksu izaberite
Excel Add-Ins
sa opadajuće
Manage
liste i kliknite
Go
.
Macro dijalog boks
(otvara se odabirom
Developer/Code/Macros
ili
View/Macros/ViewMacros
) ne prikazuje macros sadržane u programskim
dodacima.
Prije verzije 2007 Excel je dozvoljavao korišćenje bilo koje ekstenzije za fajlove
programskih dodataka. Posle ove verzije može se koristiti bilo koja ekstenzija ali ako nije
XLA
ili
XLAM
dobićete upozorenje.
Excel aplikacija se može pretvoriti u programski dodatak iz nekog od sledećih razloga:
Za ograničavanje pristupa kodu i radnim listovima:
Kada distribuirate aplikaciju
kao programski dodatak i zaštitite svoj VBA projekat lozinkom, korisnici ne mogu
pregledavati niti mijenjati listove ili VBA kod u radnoj knjizi. Stoga, ako koristite
vlasničke tehnike u vašoj aplikaciji možete spriječiti da svatko kopira kod.
Da biste izbjegli zabunu:
Ako korisnik učita vašu aplikaciju kao programski
dodatak, datoteka nije vidljiva i stoga je vjerojatno da će zbuniti nove korisnike.
Unlike skrivenu radnu svesku
,
i programski dodatak se ne može otkriti.
Za pojednostavljivanje pristupa funkcijama radnog lista:
Prilagođene funkcije
radnog lista sačuvane kao programski dodaci ne zahtijevaju kvalifikaciju imena
radne sveske. Na primjer, ako sačuvate funkciju
MOVAVG
u radnoj svesci pod
nazivom
Newfuncs.xlsm
, morate upotrebiti sintaksu kao što je sljedeća za korištenje
ove funkcije u formuli koja se nalazi u drugoj radnoj svesci:
=Newfuncs.xlsm!MOVAVG(A1:A50)
Ali ako je funkcija sadržana u programskom dodatku koji je otvoren možete koristiti
puno jednostavniju sintaksu:
3
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti