Excel 2010 PL : programowanie w VBA / John Walkenbach

Transkrypt

Excel 2010 PL : programowanie w VBA / John Walkenbach
Excel 2010 PL : programowanie w VBA / John Walkenbach. – Gliwice,
cop. 2011
Spis treści
O autorze
Przedmowa
19
21
Część I: Podstawowe informacje
Rozdział 1. Skąd się wziął Excel 2007?
Krótka historia arkuszy kalkulacyjnych
Wszystko zaczęło się od programu VisiCalc
Lotus 1-2-3
Quattro Pro
Microsoft Excel
Excel jako dobre narzędzie dla projektantów aplikacji
Rola Excela w strategii Microsoftu
29
31
31
31
32
35
36
41
43
Rozdział 2. Program Excel w zarysie
Myślenie w kategoriach obiektów
Skoroszyty
Arkusze
Arkusze wykresów
Arkusze makr XLM
Arkusze dialogowe programów Excel 5 i 95
Interfejs uŜytkownika programu Excel
Wprowadzenie do WstąŜki
Menu podręczne i minipasek narzędzi
Okna dialogowe
Skróty klawiszowe
Tagi inteligentne
Panel zadań
Dostosowywanie wyświetlania do własnych potrzeb
Wprowadzanie danych
Formuły, funkcje i nazwy
Zaznaczanie obiektów
Formatowanie
Opcje ochrony
Ochrona formuł przed nadpisaniem
Ochrona struktury skoroszytu
Ochrona skoroszytu przy uŜyciu hasła
Ochrona kodu VBA przy uŜyciu hasła
Wykresy
Kształty i obiekty typu SmartArt
Dostęp do baz danych
45
45
46
46
48
49
50
50
51
57
58
59
59
60
61
61
61
63
64
65
65
66
66
67
68
68
69
Arkuszowe bazy danych
Zewnętrzne bazy danych
Funkcje internetowe
Narzędzia analizy danych
Dodatki
Makra i programowanie
Zgodność formatu plików
System pomocy Excela
69
70
71
72
73
74
74
74
Rozdział 3. Wybrane zasady stosowania formuł
Formuły
Obliczanie formuł
Odwołania do komórki lub zakresu
Dlaczego warto uŜywać odwołań, które nie są względne?
Notacja W1K1
Odwołania do innych arkuszy lub skoroszytów
Zastosowanie nazw
Nadawanie nazw komórkom i zakresom
Nadawanie nazw istniejącym odwołaniom
Stosowanie nazw z operatorem przecięcia
Nadawanie nazw kolumnom i wierszom
Obszar obowiązywania nazw
Nadawanie nazw stałym
Nadawanie nazw formułom
Nadawanie nazw obiektom
Błędy występujące w formułach
Formuły tablicowe
Przykładowa formuła tablicowa
Kalendarz oparty na formule tablicowej
Zalety i wady formuł tablicowych
Metody zliczania i sumowania
Przykłady formuł zliczających
Przykłady formuł sumujących
Inne narzędzia zliczające
Przetwarzanie daty i czasu
Wprowadzanie daty i czasu
Przetwarzanie dat sprzed roku 1900
Tworzenie megaformuł
77
77
78
79
79
80
81
83
83
83
84
85
85
86
87
88
89
89
90
91
92
93
94
95
95
96
96
97
98
Rozdział 4. Pliki programu Excel
Uruchamianie Excela
Formaty plików
Formaty plików obsługiwane w programie Excel
Formaty plików tekstowych
Formaty plików baz danych
101
101
103
104
104
104
Inne formaty plików
Praca z plikami szablonów
Przeglądanie dostępnych szablonów
Tworzenie szablonów
Tworzenie szablonów skoroszytu
Budowa plików programu Excel
Zaglądamy do wnętrza pliku
Dlaczego format pliku jest taki waŜny?
Plik OfficeUI
Plik XLB
Pliki dodatków
Ustawienia Excela w rejestrze systemu Windows
Rejestr systemu Windows
Ustawienia Excela
105
106
108
109
110
111
112
115
116
117
117
118
118
120
Część II: Projektowanie aplikacji w Excelu
Rozdział 5. Czym jest aplikacja arkusza kalkulacyjnego?
Aplikacje arkuszy kalkulacyjnych
Projektant i uŜytkownik końcowy
Kim są projektanci i czym się zajmują?
Klasyfikacja uŜytkowników arkuszy kalkulacyjnych
Odbiorcy aplikacji arkusza kalkulacyjnego
Rozwiązywanie problemów przy uŜyciu Excela
Podstawowe kategorie arkuszy kalkulacyjnych
Arkusze robocze
Arkusze przeznaczone wyłącznie do uŜytku prywatnego
Aplikacje jednego uŜytkownika
Aplikacje typu "spaghetti"
Aplikacje narzędziowe
Dodatki zawierające funkcje arkusza
Arkusze jednoblokowe
Modele warunkowe
Aplikacje bazodanowe przechowujące i udostępniające dane
Aplikacje komunikujące się z bazami danych
Aplikacje "pod klucz"
123
125
125
126
127
128
129
129
130
131
131
132
132
133
133
134
134
134
135
135
Rozdział 6. Podstawy projektowania aplikacji arkusza kalkulacyjnego
Podstawowe etapy projektowania
Określanie wymagań uŜytkownika
Planowanie aplikacji spełniającej wymagania uŜytkownika
Wybieranie odpowiedniego interfejsu uŜytkownika
Dostosowywanie WstąŜki do potrzeb uŜytkownika
Dostosowywanie menu podręcznego do potrzeb uŜytkownika
Tworzenie klawiszy skrótu
Tworzenie niestandardowych okien dialogowych
137
137
138
139
141
144
144
145
146
Zastosowanie formantów ActiveX w arkuszu
Rozpoczęcie prac projektowych
Zadania realizowane z myślą o końcowym uŜytkowniku
Testowanie aplikacji
Uodpornianie aplikacji na błędy popełniane przez uŜytkownika
Nadawanie aplikacji przyjaznego, intuicyjnego i estetycznego wyglądu
Tworzenie systemu pomocy i dokumentacji przeznaczonej dla uŜytkownika
Dokumentowanie prac projektowych
Przekazanie aplikacji uŜytkownikom
Aktualizacja aplikacji kiedy to konieczne
Pozostałe kwestie dotyczące projektowania
Wersja Excela zainstalowana przez uŜytkownika
Wersje językowe
Wydajność systemu
Tryby karty graficznej
146
148
149
149
150
152
154
155
155
156
156
157
157
157
158
Część III: Język Visual Basic for Applications
Rozdział 7. Wprowadzenie do języka VBA
Podstawowe informacje o języku BASIC
Język VBA
Modele obiektowe
Porównanie języka VBA z językiem XLM
Wprowadzenie do języka VBA
Edytor VBE
Wyświetlanie karty Deweloper
Uruchamianie edytora VBE
Okna edytora VBE
Tajemnice okna Project Explorer
Dodawanie nowego modułu VBA
Usuwanie modułu VBA
Eksportowanie i importowanie obiektów
Tajemnice okna Code
Minimalizacja i maksymalizacja okien
Przechowywanie kodu źródłowego języka VBA
Wprowadzanie kodu źródłowego języka VBA
Dostosowywanie edytora Visual Basic
Karta Editor
Karta Editor Format
Karta General
Zastosowanie karty Docking
Rejestrator makr Excela
Co właściwie zapisuje rejestrator makr?
Odwołania względne czy bezwzględne?
Opcje związane z rejestrowaniem makr
Modyfikowanie zarejestrowanych makr
159
161
161
162
162
162
163
165
166
167
167
169
170
171
171
171
172
172
173
179
180
183
184
185
185
186
187
191
191
Obiekty i kolekcje
Hierarchia obiektów
Kolekcje
Odwoływanie się do obiektów
Właściwości i metody
Właściwości obiektów
Metody obiektowe
Tajemnice obiektu Comment
Pomoc dla obiektu Comment
Właściwości obiektu Comment
Metody obiektu Comment
Kolekcja Comments
Właściwość Comment
Obiekty zawarte w obiekcie Comment
Sprawdzanie, czy komórka posiada komentarz
Dodawanie nowego obiektu Comment
Kilka przydatnych właściwości obiektu Application
Tajemnice obiektów Range
Właściwość Range
Właściwość Cells
Właściwość Offset
Co naleŜy wiedzieć o obiektach?
Podstawowe zagadnienia, które naleŜy zapamiętać
Dodatkowe informacje na temat obiektów i właściwości
192
193
194
195
196
196
197
198
199
199
199
201
202
202
203
204
205
206
207
209
210
212
212
213
Rozdział 8. Podstawy programowania w języku VBA
Przegląd elementów języka VBA
Komentarze
Zmienne, typy danych i stałe
Definiowanie typów danych
Deklarowanie zmiennych
Zasięg zmiennych
Zastosowanie stałych
Praca z łańcuchami tekstu
Przetwarzanie dat
Instrukcje przypisania
Tablice
Deklarowanie tablic
Deklarowanie tablic wielowymiarowych
Deklarowanie tablic dynamicznych
Zmienne obiektowe
Typy danych definiowane przez uŜytkownika
Wbudowane funkcje VBA
Praca z obiektami i kolekcjami
Konstrukcja With ... End With
217
217
219
220
222
222
226
229
232
232
233
235
236
236
237
237
238
239
242
242
Konstrukcja For Each ... Next
Sterowanie wykonywaniem procedur
Polecenie GoTo
Konstrukcja If ... Then
Konstrukcja Select Case
Wykonywanie bloku instrukcji w ramach pętli
243
244
245
245
249
252
Rozdział 9. Tworzenie procedur w języku VBA
261
Kilka słów o procedurach
261
Deklarowanie procedury Sub
262
Zasięg procedury
263
Wykonywanie procedur Sub
264
Uruchamianie procedury przy uŜyciu polecenia Run Sub/UserForm
265
Uruchamianie procedury z poziomu okna dialogowego Makro
265
Uruchamianie procedury przy uŜyciu skrótu z klawiszem Ctrl
266
Uruchamianie procedury za pomocą WstąŜki
267
Uruchamianie procedur za pośrednictwem niestandardowego menu podręcznego 267
Wywoływanie procedury z poziomu innej procedury
267
Uruchamianie procedury poprzez kliknięcie obiektu
271
Wykonywanie procedury po wystąpieniu określonego zdarzenia
273
Uruchamianie procedury z poziomu okna Immediate
274
Przekazywanie argumentów procedurom
275
Metody obsługi błędów
278
Przechwytywanie błędów
278
Przykłady kodu źródłowego obsługującego błędy
279
Praktyczny przykład wykorzystujący procedury Sub
282
Cel
283
Wymagania projektowe
283
Co juŜ wiesz
283
Podejście do zagadnienia
284
Co musimy wiedzieć?
285
Wstępne rejestrowanie makr
285
Wstępne przygotowania
286
Tworzenie kodu źródłowego
288
Tworzenie procedury sortującej
289
Dodatkowe testy
292
Usuwanie problemów
293
Dostępność narzędzia
296
Ocena projektu
296
Rozdział 10. Tworzenie funkcji w języku VBA
Porównanie procedur Sub i Function
Dlaczego tworzymy funkcje niestandardowe?
Twoja pierwsza funkcja
Zastosowanie funkcji w arkuszu
299
299
300
301
301
Zastosowanie funkcji w procedurze języka VBA
Analiza funkcji niestandardowej
Procedury Function
Zasięg funkcji
Wywoływanie procedur Function
Argumenty funkcji
Przykłady funkcji
Funkcja bezargumentowa
Funkcja jednoargumentowa
Funkcje z dwoma argumentami
Funkcja pobierająca tablicę jako argument
Funkcje z argumentami opcjonalnymi
Funkcje zwracające tablicę VBA
Funkcje zwracające wartość błędu
Funkcje o nieokreślonej liczbie argumentów
Emulacja funkcji arkuszowej SUMA
Rozszerzone funkcje daty
Wykrywanie i usuwanie błędów w funkcjach
Okno dialogowe Wstawianie funkcji
Zastosowanie metody MacroOptions
Definiowanie kategorii funkcji
Dodawanie opisu funkcji
Zastosowanie dodatków do przechowywania funkcji niestandardowych
Korzystanie z Windows API
Przykłady zastosowania funkcji interfejsu API systemu Windows
Identyfikacja katalogu domowego systemu Windows
Wykrywanie wciśnięcia klawisza Shift
Dodatkowe informacje na temat funkcji interfejsu API
302
302
304
306
306
310
311
311
313
316
317
318
319
322
323
324
327
329
330
332
333
334
335
336
336
337
338
339
Rozdział 11. Przykłady i techniki programowania w języku VBA
Nauka poprzez praktykę
Przetwarzanie zakresów
Kopiowanie zakresów
Przenoszenie zakresów
Kopiowanie zakresu o zmiennej wielkości
Zaznaczanie oraz identyfikacja róŜnego typu zakresów
Wprowadzanie wartości do komórki
Wprowadzanie wartości do następnej pustej komórki
Wstrzymywanie działania makra w celu umoŜliwienia pobrania zakresu
wyznaczonego przez uŜytkownika
Zliczanie zaznaczonych komórek
Określanie typu zaznaczonego zakresu
Wydajne przetwarzanie komórek zaznaczonego zakresu przy uŜyciu pętli
Usuwanie wszystkich pustych wierszy
Powielanie wierszy
341
341
342
342
344
344
345
346
348
350
351
352
353
356
357
Określanie, czy zakres zawiera się w innym zakresie
Określanie typu danych zawartych w komórce
Odczytywanie i zapisywanie zakresów
Lepsza metoda zapisywania zakresu
Przenoszenie zawartości tablic jednowymiarowych
Przenoszenie zawartości zakresu do tablicy typu Variant
Zaznaczanie komórek na podstawie wartości
Kopiowanie nieciągłego zakresu komórek
Przetwarzanie skoroszytów i arkuszy
Zapisywanie wszystkich skoroszytów
Zapisywanie i zamykanie wszystkich skoroszytów
Ukrywanie wszystkich komórek arkusza poza zaznaczonym zakresem
Synchronizowanie arkuszy
Techniki programowania w języku VBA
Przełączanie wartości właściwości typu logicznego
Określanie liczby drukowanych stron
Wyświetlanie daty i czasu
Pobieranie listy czcionek
Sortowanie tablicy
Przetwarzanie grupy plików
Ciekawe funkcje, których moŜesz uŜyć w swoich projektach
Funkcja FileExists
Funkcja FileNameOnly
Funkcja PathExists
Funkcja RangeNameExists
Funkcja SheetExists
Funkcja WorkbookIsOpen
Pobieranie wartości z zamkniętego skoroszytu
UŜyteczne, niestandardowe funkcje arkuszowe
Funkcje zwracające informacje o formatowaniu komórki
Gadający arkusz?
Wyświetlanie daty zapisania lub wydrukowania pliku
Obiekty nadrzędne
Zliczanie komórek, których wartości zawierają się pomiędzy dwoma wartościami
Wyznaczanie ostatniej niepustej komórki kolumny lub wiersza
Czy dany łańcuch tekstu jest zgodny z wzorcem?
Wyznaczanie n-tego elementu łańcucha
Zamiana wartości na słowa
Funkcja wielofunkcyjna
Funkcja SheetOffset
Zwracanie maksymalnej wartości ze wszystkich arkuszy
Zwracanie tablicy zawierającej unikatowe, losowo uporządkowane liczby
całkowite
Porządkowanie zakresu w losowy sposób
Wywołania funkcji interfejsu Windows API
358
359
360
361
363
363
364
365
367
367
368
368
369
370
370
371
372
373
374
376
378
378
378
379
379
380
381
381
382
382
384
384
385
386
387
388
390
390
391
392
393
394
395
396
Określanie skojarzeń plików
Pobieranie informacji o napędach dyskowych
Pobieranie informacji dotyczących drukarki domyślnej
Pobieranie informacji o aktualnej rozdzielczości karty graficznej
Dodanie dźwięku do aplikacji
Odczytywanie zawartości rejestru systemu Windows i zapisywanie w nim danych
397
397
398
399
400
402
Część IV: Praca z formularzami UserForm
Rozdział 12. Tworzenie własnych okien dialogowych
Zanim rozpoczniesz tworzenie formularza UserForm
Okno wprowadzania danych
Funkcja InputBox języka VBA
Metoda InputBox Excela
Funkcja MsgBox języka VBA
Metoda GetOpenFilename programu Excel
Metoda GetSaveAsFilename programu Excel
Okno wybierania katalogu
Wyświetlanie wbudowanych okien dialogowych Excela
Wyświetlanie formularza danych
Wyświetlanie formularza wprowadzania danych
Wyświetlanie formularza wprowadzania danych za pomocą VBA
405
407
407
407
408
409
412
415
419
419
420
421
423
424
Rozdział 13. Wprowadzenie do formularzy UserForm
Jak Excel obsługuje niestandardowe okna dialogowe
Wstawianie nowego formularza UserForm
Dodawanie formantów do formularza UserForm
Formanty okna Toolbox
Formant CheckBox
Formant ComboBox
Formant CommandButton
Formant Frame
Formant Image
Formant Label
Formant ListBox
Formant MultiPage
Formant OptionButton
Formant RefEdit
Formant ScrollBar
Formant SpinButton
Formant TabStrip
Formant TextBox
Formant ToggleButton
Modyfikowanie formantów formularza UserForm
Modyfikowanie właściwości formantów
Zastosowanie okna Properties
425
425
426
426
428
428
429
429
429
429
429
429
430
430
430
430
430
430
431
431
432
432
432
Wspólne właściwości
Uwzględnienie wymagań uŜytkowników preferujących korzystanie z klawiatury
Wyświetlanie formularza UserForm
Wyświetlanie niemodalnych okien formularzy UserForm
Wyświetlanie formularza UserForm na podstawie zmiennej
Ładowanie formularza UserForm
Procedury obsługi zdarzeń
Zamykanie formularza UserForm
Przykład tworzenia formularza UserForm
Tworzenie formularza UserForm
Tworzenie kodu procedury wyświetlającej okno dialogowe
Testowanie okna dialogowego
Dodawanie procedur obsługi zdarzeń
Sprawdzanie poprawności danych
Zakończenie tworzenia okna dialogowego
Zdarzenia powiązane z formularzem UserForm
Zdobywanie informacji na temat zdarzeń
Zdarzenia formularza UserForm
Zdarzenia związane z formantem SpinButton
Współpraca formantu SpinButton z formantem TextBox
Odwoływanie się do formantów formularza UserForm
Dostosowywanie okna Toolbox do własnych wymagań
Dodawanie nowych kart
Dostosowywanie lub łączenie formantów
Dodawanie nowych formantów ActiveX
Tworzenie szablonów formularzy UserForm
Lista kontrolna tworzenia i testowania formularzy UserForm
435
435
438
438
439
439
439
439
441
441
444
444
445
447
447
447
448
449
449
451
453
454
455
455
456
457
458
Rozdział 14. Przykłady formularzy UserForm
Tworzenie formularza UserForm pełniącego funkcję menu
Zastosowanie w formularzu UserForm formantów CommandButton
Zastosowanie w formularzu UserForm formantu ListBox
Zaznaczanie zakresów przy uŜyciu formularza UserForm
Tworzenie okna powitalnego
Wyłączanie przycisku Zamknij formularza UserForm
Zmiana wielkości formularza UserForm
Powiększanie i przewijanie arkusza przy uŜyciu formularza UserForm
Zastosowania formantu ListBox
Tworzenie listy elementów formantu ListBox
Identyfikowanie zaznaczonego elementu listy formantu ListBox
Identyfikowanie wielu zaznaczonych elementów listy formantu ListBox
Wiele list w jednej kontrolce ListBox
Przenoszenie elementów listy formantu ListBox
Zmiana kolejności elementów listy formantu ListBox
Wielokolumnowe formanty ListBox
459
459
460
460
461
463
465
466
468
470
471
475
475
476
478
479
480
Zastosowanie formantu ListBox do wybierania wierszy arkusza
Uaktywnianie arkusza za pomocą formantu ListBox
Zastosowanie formantu MultiPage na formularzach UserForm
Korzystanie z formantów zewnętrznych
Animowanie etykiet
482
484
487
488
490
Rozdział 15. Zaawansowane techniki korzystania z formularzy UserForm
Nie modalne okna dialogowe
Wyświetlanie wskaźnika postępu zadania
Tworzenie samodzielnego wskaźnika postępu zadania
Wyświetlanie wskaźnika postępu zadania za pomocą formantu MultiPage
Wyświetlanie wskaźnika postępu zadania bez korzystania z kontrolki MultiPage
Tworzenie kreatorów
Konfigurowanie formantu MultiPage w celu utworzenia kreatora
Dodawanie przycisków do formularza UserForm kreatora
Programowanie przycisków kreatora
ZaleŜności programowe w kreatorach
Wykonywanie zadań za pomocą kreatorów
Emulacja funkcji MsgBox
Emulacja funkcji MsgBox: kod funkcji MyMsgBox
Jak działa funkcja MyMsgBox
Wykorzystanie funkcji MyMsgBox do emulacji funkcji MsgBox
Formularz UserForm z formantami, których połoŜenie moŜna zmieniać
Formularz UserForm bez paska tytułowego
Symulacja paska narzędzi za pomocą formularza UserForm
Formularze UserForm z moŜliwością zmiany rozmiaru
Obsługa wielu przycisków formularza UserForm za pomocą jednej procedury
obsługi zdarzeń
Wybór koloru za pomocą formularza UserForm
Wyświetlanie wykresów na formularzach UserForm
Zapisywanie wykresu w postaci pliku GIF
Modyfikacja właściwości Picture formantu Image
Tworzenie półprzezroczystych formularzy UserForm
Zaawansowane formularze danych
Opis ulepszonego formularza danych
Instalacja dodatku - ulepszonego formularza danych
Puzzle na formularzu UserForm
Wideo Poker na formularzu UserForm
493
493
497
498
502
504
505
506
507
508
509
511
511
512
513
515
515
516
518
520
Część V: Zaawansowane techniki programowania
Rozdział 16. Tworzenie narzędzi dla Excela w języku VBA
Kilka słów o narzędziach dla programu Excel
Zastosowanie języka VBA do tworzenia narzędzi
Co decyduje o przydatności narzędzia?
Operacje tekstowe: anatomia narzędzia
537
539
539
540
541
541
524
527
528
529
530
530
531
533
533
535
536
Kilka słów o programie Operacje tekstowe
Określenie wymagań dla narzędzia Operacje tekstowe
Skoroszyt narzędzia Operacje tekstowe
Jak działa narzędzie Operacje tekstowe?
Formularz UserForm dla narzędzia Operacje tekstowe
Moduł VBA Module1
Moduł formularza UserForm1
Poprawa wydajności narzędzia Operacje tekstowe
Zapisywanie ustawień narzędzia Operacje tekstowe
Implementacja procedury Cofnij
Wyświetlanie pliku pomocy
Umieszczanie poleceń na WstąŜce
Ocena realizacji projektu
Działanie narzędzia Operacje tekstowe
Dodatkowe informacje na temat narzędzi Excela
542
543
543
544
545
546
548
550
551
553
554
556
556
558
558
Rozdział 17. Tabele przestawne
Przykład prostej tabeli przestawnej
Tworzenie tabel przestawnych
Analiza zarejestrowanego kodu tworzenia tabeli przestawnej
Optymalizacja wygenerowanego kodu tworzącego tabelę przestawną
Tworzenie złoŜonych tabel przestawnych
Kod tworzący tabelę przestawną
Jak działa złoŜona tabela przestawna?
Jednoczesne tworzenie wielu tabel przestawnych
Tworzenie odwróconych tabel przestawnych
559
559
560
561
562
565
567
568
569
572
Rozdział 18. Wykresy
Podstawowe wiadomości o wykresach
Lokalizacja wykresu
Rejestrator makr a wykresy
Model obiektu Chart
Tworzenie wykresów osadzonych na arkuszu danych
Tworzenie wykresu na arkuszu wykresu
Wykorzystanie VBA do uaktywnienia wykresu
Przenoszenie wykresu
Wykorzystanie VBA do deaktywacji wykresu
Sprawdzanie, czy wykres został uaktywniony
Usuwanie elementów z kolekcji ChartObjects lub Charts
Przetwarzanie wszystkich wykresów w pętli
Zmiana rozmiarów i wyrównywanie obiektów ChartObject
Eksportowanie wykresów
Eksportowanie wszystkich obiektów graficznych
Zmiana danych prezentowanych na wykresie
Modyfikacja danych wykresu na podstawie aktywnej komórki
575
575
576
576
577
578
579
580
582
582
583
584
585
587
588
589
590
592
Zastosowanie języka VBA do identyfikacji zakresu danych prezentowanych na
wykresie
Wykorzystanie VBA do wyświetlania dowolnych etykiet danych na wykresie
Wyświetlanie wykresu w oknie formularza UserForm
Zdarzenia związane z wykresami
Przykład wykorzystania zdarzeń związanych z wykresami
Obsługa zdarzeń dla wykresów osadzonych
Przykład: zastosowanie zdarzeń dla wykresów osadzonych
Jak ułatwić sobie pracę z wykresami przy uŜyciu VBA?
Drukowanie wykresów osadzonych na arkuszu
Ukrywanie serii danych poprzez ukrywanie kolumn
Tworzenie wykresów, które nie są połączone z danymi
Wykorzystanie zdarzenia MouseOver do wyświetlania tekstu
Wykresy animowane
Przewijanie wykresów
Tworzenie wykresu krzywych hipocykloidalnych
Tworzenie wykresu-zegara
Tworzenie wykresu interaktywnego bez uŜycia VBA
Przygotowanie danych do utworzenia wykresu interaktywnego
Tworzenie przycisków opcji dla interaktywnego wykresu
Tworzenie listy miast dla wykresu interaktywnego
Tworzenie zakresów danych dla wykresu interaktywnego
Utworzenie wykresu interaktywnego
Tworzenie wykresów przebiegu w czasie
593
596
598
601
601
604
606
608
608
608
610
611
614
615
617
618
619
620
620
621
621
623
623
Rozdział 19. Obsługa zdarzeń
Co powinieneś wiedzieć o zdarzeniach
Sekwencje zdarzeń
Gdzie naleŜy umieścić procedury obsługi zdarzeń?
Wyłączanie obsługi zdarzeń
Wprowadzanie kodu procedury obsługi zdarzeń
Procedury obsługi zdarzeń z argumentami
Zdarzenia poziomu skoroszytu
Zdarzenie Open
Zdarzenie Activate
Zdarzenie SheetActivate
Zdarzenie NewSheet
Zdarzenie BeforeSave
Zdarzenie Deactivate
Zdarzenie BeforePrint
Zdarzenie BeforeClose
Zdarzenia poziomu arkusza
Zdarzenie Change
Monitorowanie zmian w wybranym zakresie komórek
Zdarzenie SelectionChange
627
627
628
628
630
631
632
634
634
636
636
636
637
637
638
639
641
641
642
647
Zdarzenie BeforeDoubleClick
Zdarzenie BeforeRightClick
Zdarzenia dotyczące wykresów
Zdarzenia dotyczące aplikacji
Włączenie obsługi zdarzeń poziomu aplikacji
Sprawdzanie, czy skoroszyt jest otwarty
Monitorowanie zdarzeń poziomu aplikacji
Zdarzenia dotyczące formularzy UserForm
Zdarzenia niezwiązane z obiektami
Zdarzenie OnTime
Zdarzenie OnKey
648
648
649
649
651
653
654
655
655
655
658
Rozdział 20. Interakcje z innymi aplikacjami
Uruchamianie innych aplikacji z poziomu Excela
Zastosowanie funkcji Shell języka VBA
Zastosowanie funkcji ShellExecute interfejsu Windows API
Uaktywnianie aplikacji z poziomu Excela
Wykorzystanie instrukcji AppActivate
Uaktywnianie aplikacji pakietu Microsoft Office
Uruchamianie okien dialogowych Panelu sterowania
Wykorzystanie automatyzacji w programie Excel
Działania z obiektami innych aplikacji z wykorzystaniem automatyzacji
Wczesne i późne wiązanie
Funkcja GetObject a CreateObject
Prosty przykład późnego wiązania
Sterowanie Wordem z poziomu Excela
Zarządzanie Excelem z poziomu innej aplikacji
Wysyłanie spersonalizowanych wiadomości e-mail z wykorzystaniem Outlooka
Wysyłanie wiadomości e-mail z załącznikami z poziomu Excela
Zastosowanie metody SendKeys
663
663
663
665
667
667
668
668
669
670
670
673
673
674
677
678
682
684
Rozdział 21. Tworzenie i wykorzystanie dodatków
Czym są dodatki?
Porównanie dodatku ze standardowym skoroszytem
Po co tworzy się dodatki?
MenedŜer dodatków Excela
Tworzenie dodatków
Przykład tworzenia dodatku
Tworzenie opisu dla dodatku
Tworzenie dodatku
Instalowanie dodatku
Testowanie dodatków
Dystrybucja dodatków
Modyfikowanie dodatku
Porównanie plików XLAM i XLSM
685
685
686
687
688
689
690
691
692
693
694
694
695
695
Pliki XLAM - przynaleŜność do kolekcji z poziomu VBA
Widoczność plików XLSM i XLAM
Arkusze i wykresy w plikach XLSM i XLAM
Dostęp do procedur VBA w dodatku
Przetwarzanie dodatków za pomocą kodu VBA
Właściwości obiektu AddIn
Korzystanie z dodatku jak ze skoroszytu
Zdarzenia związane z obiektami Addin
Optymalizacja wydajności dodatków
Problemy z dodatkami
Zapewnienie, Ŝe dodatek został zainstalowany
Odwoływanie się do innych plików z poziomu dodatku
Wykrywanie właściwej wersji Excela dla dodatku
696
697
697
698
701
703
706
706
707
708
708
710
710
Część VI: Tworzenie aplikacji
Rozdział 22. Tworzenie pasków narzędzi
Wprowadzenie do pracy ze WstąŜką
VBA i WstąŜka
Dostęp do poleceń WstąŜki
Praca ze WstąŜką
Aktywowanie karty
Dostosowywanie WstąŜki do własnych potrzeb
Prosty przykład kodu RibbonX
Prosty przykład kodu RibbonX - podejście 2
Kolejny przykład kodu RibbonX
Demo formantów WstąŜki
Przykład uŜycia formantu DynamicMenu
Więcej wskazówek dotyczących modyfikacji WstąŜki
Tworzenie pasków narzędzi w starym stylu
Ograniczenia funkcjonalności tradycyjnych pasków narzędzi w Excelu 2010
Kod tworzący pasek narzędzi
711
713
713
715
718
719
721
721
722
725
730
732
738
741
742
742
743
Rozdział 23. Praca z menu podręcznym
Obiekt CommandBar
Rodzaje obiektów CommandBar
Wyświetlanie menu podręcznych
Odwołania do elementów kolekcji CommandBars
Odwołania do formantów w obiekcie CommandBar
Właściwości formantów obiektu CommandBar
Wyświetlanie wszystkich elementów menu podręcznego
Wykorzystanie VBA do dostosowywania menu podręcznego
Resetowanie menu podręcznego
Wyłączanie menu podręcznego
Wyłączanie wybranych elementów menu podręcznego
Dodawanie nowego elementu do menu podręcznego Cell
747
747
748
748
749
750
751
752
754
755
755
756
756
Dodawanie nowego podmenu do menu podręcznego
Menu podręczne i zdarzenia
Automatyczne tworzenie i usuwanie menu podręcznego
Wyłączanie lub ukrywanie elementów menu podręcznego
Tworzenie kontekstowych menu podręcznych
758
761
761
762
762
Rozdział 24. Tworzenie systemów pomocy w aplikacjach
Systemy pomocy w aplikacjach Excela
Pomoc online
Systemy pomocy wykorzystujące komponenty Excela
Wykorzystanie komentarzy do tworzenia systemów pomocy
Wykorzystanie pól tekstowych do wyświetlania pomocy
Wykorzystanie arkusza do wyświetlania tekstu pomocy
Wyświetlanie pomocy w oknie formularza UserForm
Wyświetlanie pomocy w oknie przeglądarki sieciowej
Zastosowanie plików w formacie HTML
Zastosowanie plików w formacie MHTML
Wykorzystanie systemu HTML Help
Wykorzystanie metody Help do wyświetlania pomocy w formacie HTML Help
Łączenie pliku pomocy z aplikacją
Przypisanie tematów pomocy do funkcji VBA
765
765
766
766
768
769
770
771
774
774
775
776
779
780
780
Rozdział 25. Tworzenie aplikacji przyjaznych dla uŜytkownika
Czym jest aplikacja przyjazna dla uŜytkownika?
Kreator amortyzacji poŜyczek
Obsługa Kreatora amortyzacji poŜyczek
Struktura skoroszytu Kreatora amortyzacji poŜyczek
Jak działa Kreator amortyzacji poŜyczek?
Potencjalne usprawnienia Kreatora amortyzacji poŜyczek
Wskazówki dotyczące projektowania aplikacji
783
783
783
784
785
786
793
793
Część VII: Inne zagadnienia
Rozdział 26. Problem kompatybilności aplikacji
Co to jest kompatybilność?
Rodzaje problemów ze zgodnością
Unikaj uŜywania nowych funkcji i mechanizmów
Czy aplikacja będzie działać na komputerach Macintosh?
Praca z 64-bitową wersją Excela
Tworzenie aplikacji dla wielu wersji narodowych
Aplikacje obsługujące wiele języków
Obsługa języka w kodzie VBA
Wykorzystanie właściwości lokalnych
Identyfikacja ustawień systemu
Ustawienia daty i godziny
795
797
797
798
799
801
802
803
805
805
806
807
809
Rozdział 27. Operacje na plikach wykonywane za pomocą kodu VBA
Najczęściej wykonywane operacje na plikach
Zastosowanie poleceń języka VBA do wykonywania operacji na plikach
Zastosowanie obiektu FileSystemObject
Wyświetlanie rozszerzonych informacji o plikach
Operacje z plikami tekstowymi
Otwieranie plików tekstowych
Odczytywanie plików tekstowych
Zapisywanie danych do plików tekstowych
Przydzielanie numeru pliku
Określanie lub ustawianie pozycji w pliku
Instrukcje pozwalające na odczytywanie i zapisywanie plików
Przykłady wykonywania operacji na plikach
Importowanie danych z pliku tekstowego
Eksportowanie zakresu do pliku tekstowego
Importowanie pliku tekstowego do zakresu
Rejestrowanie wykorzystania Excela
Filtrowanie zawartości pliku tekstowego
Eksportowanie zakresu komórek do pliku HTML
Eksportowanie zakresu komórek do pliku XLM
Pakowanie i rozpakowywanie plików
Pakowanie plików do formatu ZIP
Rozpakowywanie plików ZIP
Działania z obiektami danych ActiveX ADO
811
811
812
816
820
821
822
823
823
823
824
824
825
825
827
828
829
830
830
832
835
836
838
838
Rozdział 28. Operacje na składnikach języka VBA
Podstawowe informacje o środowisku IDE
Model obiektowy środowiska IDE
Kolekcja VBProjects
Wyświetlanie wszystkich składników projektu VBA
Wyświetlanie wszystkich procedur VBA w arkuszu
Zastępowanie modułu uaktualnioną wersją
Zastosowanie języka VBA do generowania kodu VBA
Zastosowanie VBA do umieszczenia formantów na formularzu UserForm
Operacje z formularzami UserForm w fazie projektowania i wykonania
Dodanie 100 przycisków CommandButton w fazie projektowania
Programowe tworzenie formularzy UserForm
Prosty przykład formularza UserForm
UŜyteczny ale juŜ nie tak prosty przykład dynamicznego formularza UserForm
841
841
843
844
846
847
848
850
852
852
854
855
855
857
Rozdział 29. Moduły klas
Czym jest moduł klasy?
Przykład: utworzenie klasy NumLock
Wstawianie modułu klasy
Dodawanie kodu VBA do modułu klasy
863
863
864
865
865
Wykorzystanie klasy NumLock
Dodatkowe informacje na temat modułów klas
Programowanie właściwości obiektów
Programowanie metod obiektów
Zdarzenia definiowane w module klasy
Przykład: klasa CSVFileClass
Zmienne poziomu modułu dla klasy CSVFileClass
Definicje właściwości klasy CSVFileClass
Definicje metod klasy CSVFileClass
Wykorzystanie obiektów CSVFileClass
867
868
868
870
871
871
872
872
872
874
Rozdział 30. Praca z kolorami
Definiowanie kolorów
Model kolorów RGB
Model kolorów HSL
Konwersja kolorów
Skala szarości
Zamiana kolorów na skalę szarości
Wyświetlanie wykresów w skali szarości
Eksperymenty z kolorami
Praca z motywami dokumentów
Kilka słów o motywach dokumentów
Kolory motywów dokumentów
Wyświetlanie wszystkich kolorów motywu
Praca z obiektami Shape
Kolor tła kształtu
Kształty i kolory motywów
Przykłady kształtów
Modyfikacja kolorów wykresów
877
877
878
878
879
880
883
883
885
886
886
887
890
893
893
895
897
897
Rozdział 31. Często zadawane pytania na temat programowania w
Excelu
FAQ - czyli często zadawane pytania
Ogólne pytania dotyczące programu Excel
Pytania dotyczące edytora Visual Basic
Pytania dotyczące procedur
Pytania dotyczące funkcji
Pytania dotyczące obiektów, właściwości, metod i zdarzeń
Pytania dotyczące formularzy UserForm
Pytania dotyczące dodatków
Pytania dotyczące pasków poleceń
901
901
902
908
911
916
919
928
932
934
Część VIII: Dodatki
Dodatek A: Zasoby online dotyczące Excela
Pomoc systemowa programu Excel
Pomoc techniczna firmy Microsoft
Opcje pomocy technicznej
Baza wiedzy firmy Microsoft
Strona domowa programu Microsoft Excel
Strona domowa pakietu Microsoft Office
Internetowe grupy dyskusyjne
Dostęp do grup dyskusyjnych za pomocą czytników grup dyskusyjnych
Dostęp do grup dyskusyjnych za pomocą przeglądarki sieciowej
Wyszukiwanie informacji w grupach dyskusyjnych
Strony internetowe WWW
Strona domowa Spreadsheet
Strona Daily Dose of Excel
Strona o Excelu Jona Peltiera
Pearson Software Consulting
Contextures
Pointy Haired Dilbert
Strony o Excelu Davida McRitchie
Mr. Excel
937
939
939
940
940
940
940
940
941
941
941
942
943
943
944
944
944
944
944
945
945
Dodatek B: Instrukcje i funkcje VBA
947
Wywoływanie funkcji Excela w instrukcjach VBA
950
Dodatek C: Kody błędów VBA
957
Dodatek D: Zawartość płyty CD-ROM
961
Skorowidz
977
oprac. BPK