W tym ćwiczeniu stworzymy proste makro, które przywita się z użytkownikiem. Aby wpisać nasze pierwsze makro należy wykonać następujące czynności:
- Uruchom program MS Excel
- Włącz edytor VBA. W tym celu naciśnij kombinację klawiszy ALT+F11, lub wybierz polecenie Visual Basic znajdujące się na karcie Deweloper.
- Pojawi się okno dialogowe Microsoft Visual Basic for Applications
Okno edytora składa się z kilku elementów, które oznaczyłem kolejnymi numerami:
- Okno Project Explorer jeśli nie jest widoczne, naciśnij kombinację klawiszy Ctrl + R, aby się pojawiło na ekranie. W tym oknie znajduje się diagram zawierający wszystkie skoroszyty aktualnie otwarte w Excelu oraz moduły.
- Okno Properties w tym oknie można ustalić różne parametry modułów, oraz kontrolek. Jeśli okno nie jest widoczne, należy nacisnąć klawisz F4
- Okno Code – zawiera kod źródłowy języka VBA. Każdy element projektu zawiera powiązane okno zawierające kod źródłowy. Przykładowo: aby otworzyć okno Code dla obiektu Arkusz1 należy w oknie Project Explorer (1) dwukrotnie kliknąć w jego nazwę.
- Okno Immediate – to okno jest użyteczne w trakcie testowania naszej aplikacji. Szerzej o tym oknie napiszę w dalszej części mojej pracy dyplomowej. Jeśli to okno nie jest widoczne należy nacisnąć kombinację klawiszy Ctrl+G, aby się pojawiło.
- Menu i paski narzędzi – interfejs programów z pakietu MS Office od wersji 2007 zawiera „wstążkę” zamiast menu i pasków narzędzi, jednak edytor VBA pod tym względem nie został unowocześniony.
- Utwórz nowy moduł. W tym celu w oknie Project Explorer kliknij prawym przyciskiem myszy i z menu kontekstowego wybierz opcję Insert -> Module
- W oknie Project Explorer pojawi się nowy folder o nazwie Modules a w nim nowy moduł o nazwie Module1.
- Zmień nazwę modułu na bardziej przyjazną. W tym celu kliknij dwukrotnie w moduł o nazwie Module1 a następnie w oknie Properties w polu (Name) wpisz bardziej przyjazną nazwę modułu np. NaukaVBA i naciśnij Enter
- W oknie Project Explorer kliknij dwukrotnie w nazwę modułu NaukaVBA. Następnie w oknie Code wpisz poniższy kod.
Sub PierwszeMakro()
MsgBox "Hello world!", vbInformation
End Sub
- Umieść kursor wewnątrz wpisanego makra (np. przy instrukcji MsgBox) i naciśnij klawisz F5, aby uruchomić. Rys. 8 przedstawia efekt wywołania makra
Nasze makro ma za zadanie wyświetlić okno dialogowe (odpowiada za to instrukcja MsgBox). Tekst, który ma się pojawić wewnątrz okna dialogowego należy objąć w cudzysłów. Drugi parametr instrukcji MsgBox to rodzaj wyświetlonego okna komunikatu (w naszym przypadku jest to vbInformation czyli ikonka informacyjna). Poniższa tabela przedstawia jakie parametry można przekazać instrukcji MsgBox
Stała | Opis |
vbOKOnly | Przycisk OK |
vbOKCancel | Przyciski OK i Cancel(Anuluj) |
vbAbortRetryIgnore | Przyciski Abort(Przerwij), Retry(Ponów próbę) i Ignore(Zignoruj) |
vbYesNoCancel | Przyciski Yes(Tak), No(Nie) i Cancel(Anuluj) |
vbYesNo | Przyciski Yes(Tak) i No(Nie) |
vbRetryCancel | Przyciski Retry(Ponów próbę) i Cancel(Anuluj) |
vbCritical | Wyświetla ikonę wiadomości krytycznej |
vbQuestion | Wyświetla ikonę pytania |
vbExclamation | Wyświetla ikonę wiadomości ostrzegawczej (wykrzyknik) |
vbInformation | Wyświetla ikonę informacji |
Jeśli chcielibyśmy, aby okno dialogowe MsgBox zawierało przyciski Tak i Nie, oraz ikonę pytania oba parametry należy połączyć operatorem Or. Czyli kod wywołujący takie okno dialogowe powinien wyglądać następująco:
Sub PierwszeMakro()
MsgBox "Hello world!", vbQuestion Or vbYesNo
End Sub