Kurs „Makra dla początkujących”

Transkrypt

Kurs „Makra dla początkujących”
– Wiadomości wstępne
VBI/01
Piotr Dynia, specjalista ds. MS Office
Z
astanawiałeś się może, dlaczego Twój współpracownik, siedzący przy biurku obok skończył
raport w ciągu 10 minut, a Tobie zajął on ponad
godzinę? Odpowiedź jest oczywista: napisał własne makro, które wykonało za niego całą pracę lub
znaczną jej część. Zadasz sobie zapewne pytanie:
co to są makra? Makra to kod napisany w języku Visual Basic wykonujący polecenia aplikacji, do której
jest dołączony. Część z tych poleceń jest niedoCzas, który
poświęcisz
stępnych z poziomu okna aplikacji Excel czy Word.
na naukę tego
Makra pozwalają na automatyzację pracy z dozagadnienia,
kumentami Office i nie tylko. Mogą wykonywać
to
15–20 minut.
tysiące poleceń za jednym razem i dlatego są one
niejako rozszerzeniem możliwości pracy z aplikacją, do której został dołączony Edytor Visual Basic for Application (w skrócie
VBA). Jak w przypadku każdego kursu, w pierwszej kolejności powinieneś
poznać niezbędne podstawy, które pozwolą Ci później swobodnie budować własne narzędzia w języku Visual Basic.
Jak zbudowany jest Edytor Visual Basic?
Jak przygotować własną procedurę?
Jak za pomocą makra wyświetlić informację w oknie?
W jaki sposób uruchamiać przygotowane makra?
VBI/02
VBI/04
VBI/06
VBI/08
„Makra dla początkujących” – Wiadomości wstępne
Kurs „Makra dla początkujących”
„Makra dla początkujących” – Wiadomości wstępne
96
Wiadomości wstępne
Styczeń 2011
Rys. 1. Okno Edytora Visual Basic po otwarciu w Excelu
Wiedza i Praktyka
U góry znajduje się menu poleceń i pasek narzędzi Standard. Po
lewej stronie u góry znajduje się okno przeglądarki projektu (Project
- VBAProject). W przypadku Excela znajduje się tam jeden projekt
o nazwie dokładnie takiej samej jak nazwa skoroszytu. Znajdują się
w nim moduły wszystkich arkuszy zawartych w skoroszycie i dodatkowo moduł noszący nazwę ThisWorkbook.
Aby rozpocząć pracę z makrami, należy uruchomić Edytor Visual
Basic. W programach pakietu Office zrobisz to, wybierając z menu
Narzędzia polecenie Makro/Edytor Visual Basic (w Excelu 2007:
Deweloper/Visual Basic) lub naciskając jednocześnie na klawiaturze
lewy Alt i F11.
JAK ZBUDOWANY JEST EDYTOR VISUAL BASIC?
EDYTOR VISUAL BASIC
VBI/02
Wiedza i Praktyka
Excel w praktyce ©
W niektórych komputerach okno przeglądarki projektu
może zawierać też inne moduły czy projekty, w zależności od tego, czy korzystano już z makr lub instalowano
dodatki.
W innych programach posiadających Edytor Visual Basic jest jeszcze
inaczej. O poszczególnych modułach w projektach dowiesz się więcej
w kolejnych lekcjach.
Rys. 2. Okno Edytora Visual Basic po otwarciu w Wordzie
97
VBI/03
W przypadku programu Word (rys. 2) w oknie przeglądarki projektów
znajdują się dwa projekty: jeden o nazwie Normal i drugi o nazwie
dokładnie takiej samej jak otwarty dokument. Ten drugi projekt zawiera
moduł ThisDocument.
Jeśli w swoim Edytorze nie widzisz przeglądarki projektu
i okna właściwości (jak na rysunku 1), wciśnij najpierw
kombinację klawiszy Ctrl + R, a następnie F4.
Wiadomości wstępne
„Makra dla początkujących” – Wiadomości wstępne
„Makra dla początkujących” – Wiadomości wstępne
98
Wiadomości wstępne
Styczeń 2011
Rys. 3. Wstawianie modułu standardowego
Wiedza i Praktyka
Po wybraniu tego polecenia w oknie Edytora Visual Basic pojawi się
białe okno, a w oknie przeglądarki projektu zaznaczony będzie moduł
standardowy o nazwie Module1 (rys. 4). Białe okno na środku to okno
kodu, do którego należy wpisywać polecenia języka Visual Basic.
Makra z reguły są przechowywane w modułach standardowych.
Aby wstawić taki moduł do projektu, należy w Edytorze Visual
Basic z menu Insert wybrać polecenie Module lub skorzystać
z paska narzędzi Standard tak, jak to pokazano na rysunku 3.
JAK PRZYGOTOWAĆ WŁASNĄ PROCEDURĘ?
PROCEDURA
W starszych programach, np. wchodzących w skład
pakietu Office 97, polecenia menu są przetłumaczone
na język polski.
Okno po lewej stronie poniżej przeglądarki projektu to okno właściwości. Więcej na temat właściwości dowiesz się w kolejnych lekcjach. W tej
pokażemy, jak stworzyć swoje pierwsze makro.
VBI/04
Wiedza i Praktyka
Excel w praktyce ©
3. Wpisz nazwę procedury, np. MojeMakro, i naciśnij klawisz Enter.
W oknie kodu pojawi się zapis jak na rysunku 5.
2. Naciśnij spację.
1. Wpisz słowo kluczowe Sub.
Aby stworzyć procedurę:
Jeśli chcesz, aby nazwa zawierała kilka wyrazów, to stosuj znak podkreślenia, np. Moje_makro, lub każdy wyraz
zaczynaj od wielkiej litery, np. MojeMakro.
Rys. 4. Okno Edytora Visual Basic po wstawieniu modułu standardowego
Nie może ona zawierać spacji ani innych niedozwolonych znaków.
Jeśli makro będzie wykorzystywane w aplikacjach obcojęzycznych, to
nazwa nie powinna również zawierać polskich znaków.
99
VBI/05
Makra zawarte są najczęściej wewnątrz procedury, która stanowi blok
instrukcji języka Visual Basic. Każda procedura posiada nazwę.
Wiadomości wstępne
„Makra dla początkujących” – Wiadomości wstępne
„Makra dla początkujących” – Wiadomości wstępne
100
Wiadomości wstępne
Styczeń 2011
Wiedza i Praktyka
W tym celu:
1. Kliknij w miejscu pustej linii pomiędzy linią oznaczającą początek
procedury a linią oznaczającą koniec procedury.
2. Naciśnij klawisz Tab, aby kod procedury był bardziej czytelny.
Nadszedł czas, abyś przygotował swoje pierwsze makro. Będzie to
procedura wyświetlająca w oknie dialogowym dowolny tekst.
WYŚWIETLANIE INFORMACJI W OKNIE
– TWOJE PIERWSZE MAKRO!
INSTRUKCJA MSGBOX
Pomiędzy tymi dwiema liniami znajdują się instrukcje, które będą
wykonywane przez procedurę. Oczywiście w tej chwili nie ma tam
żadnej, ale dalej pokażemy, jak dodać instrukcję, która spowoduje
wyświetlenie informacji na ekranie w postaci okna.
Zauważ, że słowa Sub i End Sub są zaznaczone na niebiesko. To są słowa
kluczowe i nie wolno używać ich w innym kontekście niż tworzenie
procedury. Każda procedura zaczyna się od słowa Sub i kończy instrukcją End Sub.
Edytor od razu skoryguje Twój zapis, tj.: doda 2 nawiasy na końcu
pierwszej linii kodu, a także pod pustym wierszem wpisze: End Sub.
Rys. 5. Stworzenie procedury o nazwie MojeMakro
VBI/06
Wiedza i Praktyka
Excel w praktyce ©
101
VBI/07
3. Wpisz słowo MsgBox, a po nim spację.
4. Wpisz znak cudzysłowu.
5. Wpisz tekst, który chcesz wyświetlić na ekranie, np. Oto moje pierwsze makro.
6. Wpisz powtórnie znak cudzysłowu.
7. Naciśnij klawisz Enter.
Rys. 6. Zmiana liczby spacji odpowiadającej znakowi tabulacji
Przy wprowadzaniu kodu najlepiej jest używać znaku
tabulacji do wydzielania poszczególnych bloków
instrukcji. We wszystkich lekcjach będziemy również
używali tej konwencji. Możesz określić, ile spacji będzie
zawierał znak tabulacji. Aby to zrobić, użyj polecenia menu
Tools/Options i w zakładce Editor wpisz liczbę spacji w polu
Tab Width. We wszystkich lekcjach będziemy używali szerokości znaku Tab odpowiadającej dwóm spacjom, dlatego
najlepiej zmień tę opcję zgodnie z rysunkiem 6.
Wiadomości wstępne
„Makra dla początkujących” – Wiadomości wstępne
„Makra dla początkujących” – Wiadomości wstępne
102
Wiadomości wstępne
Każda instrukcja kończy się znakiem końca linii.
Styczeń 2011
Rys. 8. Uruchamianie procedury z poziomu Edytora Visual Basic
Wiedza i Praktyka
W tym celu:
1. Kliknij w środku procedury, którą napisałeś.
2. Z menu Run wybierz polecenie Run Sub/User Form lub wybierz to
polecenie z paska narzędzi Standard tak, jak pokazano na rysunku 8.
Możesz również użyć klawisza F5, aby uruchomić procedurę.
Napisałeś właśnie swoje pierwsze makro. Na pewno chciałbyś je uruchomić. W tej części powiemy Ci o dwóch sposobach uruchamiania
procedury. Pierwszy to uruchamianie z poziomu Edytora Visual Basic.
CO ZROBIĆ, ABY WŁĄCZYĆ MAKRO?
2 SPOSOBY URUCHAMIANIA MAKRA
Rys. 7. Twoje pierwsze makro
VBI/08
Wiedza i Praktyka
Rys. 10. Okno uruchamiania makr w programie Excel
Excel w praktyce ©
Aby to zrobić z poziomu Excela:
1. Wybierz polecenie menu Narzędzia/Makro/Makra (w Excelu 2007:
Deweloper/Makra).
2. Otworzy się okno dialogowe Makro. Na liście makr po lewej stronie
zaznacz to, które chcesz uruchomić.
3. Kliknij przycisk Uruchom. Gotowe.
Czasami będziesz potrzebował uruchomić makro, nie otwierając
Edytora Visual Basic.
3. Kliknij OK, aby zamknąć okno.
Rys. 9. Okno z informacją wyświetlone za pomocą instrukcji MsgBox
103
VBI/09
Po uruchomieniu tej procedury ukaże się informacja z tekstem wpisanym po instrukcji MsgBox pomiędzy znakami cudzysłowu. Zostanie
wyświetlona w postaci okna widocznego na rysunku 9.
Wiadomości wstępne
„Makra dla początkujących” – Wiadomości wstępne
„Makra dla początkujących” – Wiadomości wstępne
VBI/10
Wiadomości wstępne
ZAPAMIĘ TA J
ZAPAMIĘTAJ
1. Makra zwiększają możliwości programów pakietu Office.
2. Każda procedura zaczyna się słowem kluczowym Sub i nazwą procedury, a kończy się instrukcją End Sub.
3. Każda instrukcja kończy się znakiem końca linii.
4. Instrukcja MsgBox pozwala na wyświetlanie informacji w postaci okna. Po instrukcji należy podać tekst takiej informacji zawarty
w cudzysłowie.
SPRAWDŹ SIĘ
SPRAWDŹ
SIĘ
1. W nowym dokumencie programu Word dodaj moduł standardowy.
2. Napisz w nim procedurę o nazwie MojaPrezentacja.
3. Do procedury dodaj instrukcję wyświetlającą informację na temat
Twojego imienia i nazwiska.
4. Uruchom makro MojaPrezentacja.
104
Styczeń 2011
Wiedza i Praktyka