- 23 -
Super-Easy Guide to the Microsoft Office Excel 2003 Object Model
Frank C. RiceMicrosoft Corporation
http://msdn.microsoft.com/en-us/library/Aa203714(office.11).aspx#odc_super_lesson1gettingstarted
Super łatwy przewodnik modelowania obiektowego w MS Excel 2003
(tworzenie makropoleceń)
Przekład
Robert Wiśniewski
http://chomikuj.pl/bobwis
SPIS TREŚCI
1. Wprowadzenie
2. Dlaczego warto wiedzieć jak korzystać z modelowania obiektowego ?
3. Korzystanie z tego przewodnika
4. Co trzeba wiedzieć przed rozpoczęciem nauki
5. Co będziemy wiedzieli po zakończeniu tych lekcji
6. Lekcje
6.1. Lekcja 1 – Rozpoczęcie pracy
6.2. Lekcja 2 – Koncepcja programowania: Sub...End Sub oraz procedury
6.3. Lekcja 3 – Koncepcja programowania: Obiekty, metody i właściwości
6.4. Lekcja 4 – Świat rzeczywisty – Przykład # 1
6.5. Lekcja 5 – Tworzenie własnych okienek dialogowych
6.6. Lekcja 6 – Koncepcja programowania: Kolekcje
6.7. Lekcja 7 – Koncepcja programowania: If This, Then That
6.8. Lekcja 8 – Świat rzeczywisty – Przykład # 2
7. Co dalej ?
8. Dodatek A: Przykładowe makropolecenia
Wprowadzanie modelowania obiektowego (makropoleceń) do MS Excel ® 2003 jest łatwe. Naprawdę jest łatwe. Nie jest do tego potrzebna zaawansowana wiedza komputerowa. Nie trzeba w tym celu znać takich języków programowania jak C lub C+ ani żadnych innych języków programowania. Nie trzeba również nic wiedzieć o modelowaniu obiektowym.
Aby rozpocząć pracę, przyjrzyjmy się poniższym wierszom kodu:
Sub ColorEverySecondRow()
Const Gray = 15
Range("A2").EntireRow.Select
Do While ActiveCell.Value <> ""
Selection.Interior.ColorIndex = Gray
ActiveCell.Offset(2,0).EntireRow.Select
Loop
End Sub
Czy możecie powiedzieć co ten kod wykonuje w Excelu ?
Za pomocą tych kilku wierszy kodu możemy dodać cieniowanie do co drugiego wiersza w aktywnym arkuszu roboczym. Polecenie ColorEverySecondRow (pokoloruj co drugi wiersz) rozpoczynamy od zadeklarowania stałej o nazwie Gray (szary), która ma wartość 15. Znaczenie tej stałej stanie się wkrótce jasne. Następnie zostaje zaznaczony wiersz 2. Po zaznaczeniu całego wiersza, jego pierwsza komórka z lewej w kolumnie A, automatycznie staje się komórką aktywną. Polecenie Do... Loop (wykonaj pętlę) powtarza tą operację gdy tylko aktywna komórka jest pusta. W pętli tej ustawiany jest kod koloru wnętrza zaznaczonej komórki na 15, co odpowiada barwie szarej Gray. Następny kod zaznacza cały wiersz oraz dwa wiersze w dół od aktywnej komórki. Jest to kontynuowane dopóki aktywna komórka jest pusta, a gdy warunek While (dopóki) niej jest już spełniony, następuje przerwanie pętli.
Tak więc widzimy, że te sześć wierszy kodu pozwala na szybką zmianę koloru komórek naszego arkusza roboczego, aby stał się lepiej czytelny [1].
Modelowanie obiektowe pozwala na dostosowanie Excela do określonych potrzeb. Korzystanie w tym celu z makropoleceń jest idealne do zwiększania funkcjonalności Excela.
Przykładowo, kierownik wydziału w twoim przedsiębiorstwie ubolewa, że praca z tworzeniem raportów z wydatków jest wąskim gardłem przy tworzeniu sprawozdań z podróży do przedstawicieli handlowych. Wiesz jednak, że można szybko sporządzać raporty z wydatków w Excelu i utworzyć mapę raportów w schemacie XML. Pozwala to na uzupełnianie sprawozdań z podróży służbowych kierując odpowiednie pliki do komputerów podręcznych (laptopów) przedstawicieli handlowych.
Przewodnik ten jest podzielony na 8 lekcji. Każda lekcja jest pod ręką i można z nich korzystać posługując się Excelem. Przewodnik ten można czytać „do poduszki”, ale najlepiej z niego korzystać mając przed sobą komputer.
Wszystko co jest niezbędne do racy, to znajomość systemu operacyjnego MS Windows ® oraz umiejętność posługiwania się MS Excelem.
Gdy mamy już pewne doświadczenie w programowaniu, zapewne wystarczy tylko zerknąć do sekcji „Koncepcja programowania”, ale reszta materiału nadal będzie przydatna.
Po zakończeniu poznawania tego przewodnika oraz po wykonaniu wszystkich przykładów i ćwiczeń, można samodzielnie tworzyć własne aplikacje przy korzystania modelowania obiektowego w Excelu.
Zapewne będziemy mogli odkryć własny sposób korzystania z dostępnych narzędzi do rozwiązywania niezbędnych problemów.
Na koniec będziemy mogli zapoznawać się z niektórymi koncepcjami programowania i uzyskiwać dalszą wiedze o języku programowania Microsoft Visual Basic®.
Podsumowując, skorzystanie z pomocy tego przewodnika pozwoli na stosowanie modelowania obiektowego w Excelu dla potrzeb własnych i przedsiębiorstwa.
Ustawienia
Aby korzystać z tego przewodnika i śledzić przytoczone przykłady, trzeba mieć MS Office Excel 2003 (beta 2 lub nowszy).
Nie trzeba w tym celu korzystać z żadnych innych narzędzi.
We wszystkich lekcjach tego przewodnika będziemy korzystali z programu Microsoft Visual Basic for Applications (VBA). Jest to wersji wbudowana w aplikację Microsoft Office, w tym w MS Excel. Rozwiązania tworzone za pomocą programu VBA noszą równie nazwę makropoleceń Macro.
Makropolecenie jest zestawem instrukcji Visual Basic, które są bardzo przydatne. Przy pisaniu makr do wykonywania różnych zadań w Excelu, wpisujemy instrukcje VBA, które korzystają z modelowania obiektowego w Excelu. W programie Excel można tworzyć makropolecenia przez ich wpisywanie lub przez ich rejestrowanie w trakcie wykonywania różnych operacji.
Aby rozpocząć wpisywanie makropolecenia
Excel automatycznie uruchomi editor Visual Basic Editor , którego okno jest pokazane na poniższym rysunku:
Rys. 1. Domyślny widok edytora Visual Basic Editor
Domyślnie, edytor Visual Basis wyświetla trzy okna:
· Okno kodów – Ma ono etykietę Zeszyt - Module1 (Code). Jest to miejsce, w którym wpisujemy własne kody.
· Okno eksploratora projektu – Ma ono etykietę Project – VBAProject. Okno to wyświetla wszystkie obiekty Excela o dostępne moduły. Nie należy martwić się tym, że nie wiemy jeszcze nic o obiektach Excela. Okno to pozwala na łatwe oglądanie oraz zarządzanie wieloma plikami VBA.
· Ono właściwości – Ma ono etykietę Properties - Module1. Okno to wyświetla aktualny zestaw właściwości wybranego elementu. Aktualnie wybrany jest element Module 1.
Teraz skorzystamy z każdego z tych trzech okien.
· Module 1 (moduł 1). Jest to „surowa” i bezosobowa nazwa, ale można ją zmienić. W oknie Properties przejść do pola (Name) Module. Podwójnie kliknąć tekst Module1, po czym wpisać np. MójPierwszyModuł. Zwrócić uwagę, że nazwa ta w oknie projektu i w pasku tytułowym okna kodów ulegnie zmianie.
· Teraz w oknie eksploratora projektu kliknąć znak PLUS (+) obok nazwy Microsoft Office Excel Objects aby rozwinąć ten węzeł i zobaczyć jego zawartość. Aktualnie znajdują się w nim 4 obiekty: Arkusz1, Arkusz2, Arkusz3 i ThisWorkbook (niniejszy arkusz). W obiekcie ThisWorkbook pojawia się najwięcej aktualnie wykonywanych operacji.
Obejrzeć okno kodów z naszym modułem, który nazwaliśmy MójPierwszyModuł. Aby go otworzyć, należy podwójnie kliknąć jego nazwę w oknie eksploratora projektu.
W celu skompletowania makra
Sub MojeMakro()
Dim wrkSheet As Worksheet
Set wrkSheet = ActiveWorkbook.Worksheets.Add
Range("B1").Value = "MójNowyArkusz"
Nie musimy wiedzieć jak lub dlaczego ten kod działa. Dowiemy się o tym w następnej lekcji. Teraz zajmiemy się jego czynnością.
Czy widzicie, że w komórce B1 został wstawiony napis: MójNowyArkusz ?
Gratulujemy ! Jesteście teraz nowym, oficjalnym programistą modelowania obiektowego w Excelu.
Uwaga: Gdy pojawi się komunikat o błędzie, nie przejmuj się. Kliknij przycisk potwierdzenia i upewnij się czy wprowadzone kody są takie same jak pokazano wyżej i powtórz kroki 2-4.
Niezależnie od ręcznego wprowadzania makropoleceń przez wpisywanie kodów w edytorze Visual Basic, można również tworzyć makra korzystając z rejestratora makropoleceń Macro Recorder. Za pomocą tego rejestratora, Excel tworzy makra przez rejestrowanie poleceń memu, skrótów klawiszowych, i innych operacji niezbędnych do wykonania danego zadania.
Proces rejestrowania makr składa się z trzech kroków. Pierwszym jest uruchomienie rejestratora makropoleceń, drugim jest wykonanie operacji, jaką chcemy zarejestrować a ostatnim krokiem jest zatrzymanie rejestratora.
Aby rozpocząć rejestrację makro
W celu pokazania tego procesu, utwórzmy proste makro, które wstawia nazwę firmy oraz jej adres w arkuszu Worksheets. Zapisać i zamknąć wszystkie skoroszyty robocze Workbooks, po czym otworzyć nowy skoroszyt roboczy (plik).
Rys. 2. Widok okienka dialogowego rejestrowania makropolecenia
mars2323