vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest środa, 30 października 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
Artykuły
Kurs VBA dla zielonych - cz. 1
zamieszczony: 5 listopada 2003
przez: admin
czytany 25870 razy.

   Visual Basic for Applications to język programowania, dołączony do wielu aplikacji. W chwili obecnej wspierają go: Cały pakiet MS Office (tzn. Word, Excel, Acces, PowerPoint, Outlook, Project, Binder), AutoCAD (od wersji 14.01), CorelDraw oraz Corel PhotoPaint, Intellicad i Visio. (jeżeli cos pominąłem, proszę o uzupełnienie). W tych różniących się aplikacjach identyczny jest interface języka (no, może poza Accesem) identyczna jest składnia, takie same słowa kluczowe i instrukcje.
Różnica polega tylko na różnych obiektach i ich metodach oraz właściwościach związanych z aplikacja macierzysta. Ale zaraz, zaraz, co to są właściwie obiekty, właściwości i metody?
Przez obiekt w tym ujęciu będziemy rozumieć dowolny element składowy aplikacji (np. linie, okręgi, bloki w rysunku AutoCADa, zakres komórek w Excelu), także sam otwarty i plik w aplikacji (np. ActiveWorkbook w Excelu, ThisDrawing w AutoCADzie), oraz inne elementy (np. Worksheet czyli Arkusz w Excelu, ModelSpace czy PaperSpace w AutoCADzie). Oprócz tego obiektem są takie elementy jak paski narzędzi, a także - co chyba najważniejsze dla elastyczności programowania w VBA - sama aplikacja macierzysta, a także inne aplikacje, wspierające VBA i zainstalowane w systemie.

    To oczywiście nie wyczerpuje listy obiektów VBA, a stanowi raczej pewne przybliżenie pojęcia. No, dobra. A co to są właściwości i metody? Właściwość to prostu cecha obiektu. Może ona określać np. jego wielkość kolor, położenie na ekranie, jego stan, tzn. czy jest on dostępny czy widoczny dla użytkownika. No a co to jest metoda? Metoda to funkcja zmieniająca właściwości obiektu. Proste, nie?
Najczęściej obiekty są pogrupowane w tak zwane kolekcje czyli zbiory. Przykładem może być kolekcja Workbooks w Excelu, reprezentującą wszystkie otwarte skoroszyty, albo Blocks w AutoCADzie, reprezentującą definicje bloków. W ujęciu programistycznym kolekcje także są obiektami, maja swoje metody (np. Add (Remove) - dodawanie nowego (usuwanie istniejącego) elementu, Item(i) - zwracającą element tej kolekcji, posiadający numer i) oraz właściwości (np. Count - liczbę elementów w kolekcji).
    Ponieważ wielką, zasadniczą zaletą Visual Basic dla aplikacji jest możliwość tworzenia w banalny wręcz sposób własnego interfejsu użytkownika (tzn. formularze wraz z polami tekstowymi, przyciskami, listami, polami wyboru itp.) należy także zauważyć, że elementy tego interfejsu także są obiektami i są pogrupowane w kolekcje. Dysponują także swymi metodami i właściwościami.

    Obiekty wraz ze swymi metodami i właściwościami to bardzo wygodne i efektywne w użyciu twory, umożliwiające w prosty (no, w miarę prosty) sposób projektowanie aplikacji.
Po tym - mam nadzieję - zrozumiałym wstępie pora na krok następny.

Edytor VBA.
    W większości aplikacji skrótem klawiaturowym, uruchamiającym edytor VBA jest ALT-F11. Inna metodą jest wybranie z menu (najczęściej Tools - Narzędzia) odpowiedniego polecenia.
W AutoCADzie można także uruchamiać edytor VBA poleceniem VBAIDE.
Po uruchomieniu edytora pojawi się jego okno, w zasadzie identyczne we wszystkich aplikacjach (patrz rysunek).


Na powyższym rysunku przedstawione są elementy składowe tego okna:

1. Paski narzędzi

2. Eksplorator projektu.
Dzięki temu okienku widać otwarty projekt, czyli zbiór elementów składających się na nasza aplikacje. W przypadku Excela plik projektu to po prostu otwarty plik *.xls, natomiast projekty VBA dla AutoCADa i Intellicada przechowywane są w osobnych plikach (odpowiednio *.dvb i *.vbi). Projekty składają się z modułów, czyli takich okienek z wpisanym kodem. Standardowo wszystkie aplikacje mają możliwość wstawania następujących rodzajów modułów:
- moduł kodu źródłowego - moduł, w którym można umieścić tylko kod.
- moduł formularza - czyli projekt formularza wraz z kodem obsługującym operacje który użytkownik może dokonać z formularzem i jego elementami składowymi. (np. wciśnięcie przycisku, zmiana zawartości pola tekstowego, zamkniecie formularza.) Procedury uruchamiane w wyniku takiej akcji użytkownika nazywamy procedurami zdarzeniowymi.
- moduły klas - to takie moduły w których użytkownik może definiować własne obiekty z ich właściwościami, metodami i zdarzeniami.
- inne moduły, widoczne w zależności od aplikacji macierzystej. W przypadku Excela widoczne są ThisWorkbook, reprezentujący otwarty skoroszyt Excela oraz Arkusze (może ich być kilka) - reprezentujące arkusze w otwartym skoroszycie. W przypadku AutoCADa jest tylko jeden moduł - ThisDrawing, reprezentujący otwarty rysunek.

3. Właściwości.
W tym okienku pojawiają się właściwości zaznaczonych elementów. (np. nazwa projektowanego formularza, napis na zaznaczonym przycisku, a także nazwa projektu VBA).

4. Okno kodu/ formularza.
W tym oknie wpisujemy kod programu, czy funkcje i procedury, będące elementarnymi cegiełkami programu. Jeżeli projektujemy formularz, to oprócz wpisywania kodu można także tworzyć formularz przy użyciu palety Toolbox.

5. Paleta Toolbox (Przybornik) - stąd pobiera się elementy składowe formularza (etykiety, przyciski, pola tekstowe itp.). Elementy te nazywamy elementami sterującymi lub kontrolkami.

To tyle na początek. W następnej lekcji - pierwszy program.

wstecz