„Magiczny Office” – czyli co to jest VBA?

Wpis ma charakter komercyjny.

Pakiet biurowy Microsoft Office to potężne narzędzie wykorzystywane przez setki milionów osób na całym świecie. Jego popularność nie wzięła się z niczego, jest to naprawdę bardzo dobrze dopracowany szereg aplikacji biurowych ułatwiających pracę zarówno studentom jak i pracownikom dużych firm, praktycznie we wszystkich istniejących branżach. Próżno jest chyba szukać kogoś kto nigdy nie miał by styczności z Wordem, Excelem czy PowerPointem? Znacie taką osobę? Bo ja nie.

Fot: Lum3n, CC0.

Pomimo tak olbrzymiej popularności aplikacji biurowych giganta z Redmond mało kto jednak słyszał o czymś takim jak język VBA (ang. Visual Basic for Applications). Dla środowiska programistów pewnie brzmi to znajomo, każdy chyba pamięta coś takiego jak Visual Basic, a niektórzy z was pewnie nawet mieli przyjemność pracować nad jakimiś skryptami w tej technologii. To o czym chciałem napisać w dzisiejszym artykule jest właśnie po części związane z Visual Basicem ponieważ VBA o którym mowa został właśnie stworzony w oparciu tę technologię. Jego przeznaczenie jest jednak trochę inne.

VBA, co to takiego?

Visual Basic for Application to po prostu język programowania oparty na Visual Basicu, który został zaimplementowany w aplikacjach pakietu biurowego Microsoft Office, AutoCAD czy też WordPerfect. W skrócie, jest to uproszczona wersja VB, której celem jest automatyzacja pracy z dokumentami biurowymi przy wykorzystaniu tak zwanych makropoleceń. VBA nie pozawala na tworzeniu samodzielnie działających aplikacji desktopowych mających rozszerzenie .exe, kod jest po prostu zaszyty w plikach obsługiwanych między innymi przez aplikacje biurowe takie jak Word, Excel, PowerPoint itd.. Skrypt do poprawnego działania wymaga więc środowiska uruchomieniowego, które zaimplementowane jest w zewnętrznych programach. Wyjątkiem są tutaj pliki utworzone w Microsoft Access, które można samodzielnie uruchomiać przy użyciu odpowiednich rozszerzeń.

Praktyczne zastosowanie VBA

Jak już wspomniałem, VBA umożliwia nam automatyzowanie wykonywanych czynności, ale co to właściwie oznacza? Aby to wytłumaczyć posłużę się praktycznym przykładem – załóżmy, że mamy do przygotowania plik w Excelu z miesięcznym raportem kosztów naszej firmy, takie arkusze przygotowywaliśmy już sporo razy więc można by rzec, że nie ma w tym nic trudnego. Wgrywamy więc dane z bazy danych, wszystko formatujemy i gotowe. Ile zajęło nam to czasu? Pewnie dość sporo, a teraz pomyślmy sobie, że mogliśmy to wszystko zrobić jednym przyciskiem, w parę sekund. Robi wrażenie? To właśnie jest automatyzacja i potęga VBA.

Czy wykorzystanie VBA przynosi jakieś zyski?

Jak pewnie wiece, na pewno zaraz znajdą się „geniusze” office’a, którzy zrobią wszystko manualnymi sposobami – co prawda wymagać to będzie więcej czasu i energii, ale końcowy efekt będzie ten sam. Na czym więc polega wyższość VBA? Właśnie na automatyzacji! Wyobraźmy sobie, że zamiast komputera cały czas chodzimy z zeszytem i długopisem, a Excela zastępujemy kalkulatorem. Skoro więc VBA nie jest potrzebny to dlaczego nie korzystać na codzień ze zwykłego telefonu z odpowiednią aplikacją umożliwiającą dodawanie, odejmowanie, dzielenie, mnożenie… brzmi komicznie? Ale to właśnie jest taka różnica. Po co mamy wykonywać te same, żmudne zadania, ciągle zmieniać kolor nagłówka, kopiować dane z bazy danych, skoro wszystko może zrobić za nas odpowiedni skrypt? Dokładnie jak odpowiednie funkcje w Excelu, które sprytnie napisane, same podają wyniki – a przecież do tych samych liczb i tak doszlibyśmy za pomocą prostego kalkulatora.

Jak uczyć się VBA?

Jeśli zainteresowałem Was tą technologię i chcecie poznać ją lepiej, to zachęcam do lektury wielu różnych kursów jakie dostępne są w internecie. Ciekawe artykułu zostały udostępnione na stronach MSDNA od Microsoftu jak i na wielu kursach zarówno płatnych jak i bezpłatnych. Ze swojej strony mogę polecić między innymi stacjonarny kurs VBA organizowany przez firmę ALX i prowadzony przez certyfikowanych trenerów.

Wpis ma charakter komercyjny.

Przeczytaj również

, , , , , , ,