Excel 2019 PL. Programowanie w VBA. Vademecum Walkenbacha - Helion
Tytuł oryginału: Excel 2019 Power Programming with VBA
Tłumaczenie: Grzegorz Kowalczyk
ISBN: 978-83-283-6635-0
stron: 696, Format: ebook
Data wydania: 2020-08-25
Księgarnia: Helion
Cena książki: 49,50 zł (poprzednio: 99,00 zł)
Oszczędzasz: 50% (-49,50 zł)
Możliwości arkusza MS Excel są imponujące. Uważa się, że nikt na świecie nie zna jego wszystkich funkcji i narzędzi. Mimo to wiele osób odczuwa potrzebę wykroczenia poza standardowo dostępne opcje Excela. Często jest to automatyzacja jakiegoś żmudnego zadania albo utworzenie narzędzia do specjalnych celów. I właśnie dla takich użytkowników przygotowano VBA - język, w którym można napisać prosty program do przetwarzania danych, własny dodatek do Excela albo nawet profesjonalną aplikację. Przy tym wszystkim programowania w VBA można nauczyć się błyskawicznie!
Ta książka jest jedynym w swoim rodzaju źródłem wiedzy o VBA i jego wykorzystywaniu do najróżniejszych zadań. Bardzo złożone zagadnienia zaprezentowano tu w prosty i przystępny sposób, koncentrując się na praktycznym wykorzystywaniu kodu VBA. Znalazło się tutaj wiele wskazówek, porad i ciekawych rozwiązań, które w połączeniu z pełnymi kodami programów i przykładowymi skoroszytami umożliwiają szybkie zrozumienie poszczególnych kwestii. Pokazano krok po kroku, jak pisać programy do automatyzacji wielu zadań w Excelu. Książka zawiera wszystkie wiadomości, potrzebne do nauki rejestrowania prostych makr, pisania kodu, a także do tworzenia wyrafinowanych narzędzi i aplikacji.
W tej książce między innymi:
- dynamiczna praca ze skoroszytami i z arkuszami
- automatyzacja operacji na tabelach przestawnych i wykresach
- przetwarzanie danych z plików i innych źródeł
- seryjna korespondencja elektroniczna bezpośrednio z Excela
- projektowanie elementów interfejsu i korzystanie ze Wstążki
- tworzenie i udostępnianie własnych dodatków do Excela
VBA dla Excela: niemożliwe staje się proste!
Osoby które kupowały "Excel 2019 PL. Programowanie w VBA. Vademecum Walkenbacha", wybierały także:
- Excel 2019. Kurs video. Postaw pierwsze kroki! 79,00 zł, (31,60 zł -60%)
- Przetwarzanie danych w Excelu. Kurs video. Laboratorium Power Query 129,00 zł, (51,60 zł -60%)
- Excel VBA. Kurs video. Budowanie procesu automatycznego raportowania 179,00 zł, (71,60 zł -60%)
- Power Query i Power Pivot. Kurs video. Poznaj narzędzia Excel BI 249,00 zł, (99,60 zł -60%)
- Microsoft Excel 2013 Budowanie modeli danych przy użyciu PowerPivot 97,25 zł, (38,90 zł -60%)
Spis treści
Excel 2019 PL. Programowanie w VBA eBook -- spis treści
Przedmowa 23
CZĘŚĆ I. WPROWADZENIE DO JĘZYKA EXCEL VBA 29
Rozdział 1. Podstawy projektowania aplikacji arkusza kalkulacyjnego 31
- Czym jest aplikacja arkusza kalkulacyjnego? 31
- Etapy projektowania aplikacji 32
- Określanie wymagań użytkownika 33
- Planowanie aplikacji spełniającej wymagania użytkownika 34
- Wybieranie odpowiedniego interfejsu użytkownika 35
- Dostosowywanie Wstążki do potrzeb użytkownika 36
- Dostosowywanie menu podręcznego do potrzeb użytkownika 36
- Definiowanie klawiszy skrótu 37
- Tworzenie niestandardowych okien dialogowych 37
- Zastosowanie formantów ActiveX w arkuszu 38
- Rozpoczęcie prac projektowych 39
- Zadania realizowane z myślą o końcowym użytkowniku 40
- Testowanie aplikacji 40
- Uodpornianie aplikacji na błędy popełniane przez użytkownika 41
- Nadawanie aplikacji przyjaznego, intuicyjnego i estetycznego wyglądu 43
- Tworzenie systemu pomocy i dokumentacji przeznaczonej dla użytkownika 44
- Dokumentowanie prac projektowych 44
- Przekazanie aplikacji użytkownikom 44
- Aktualizacja aplikacji (kiedy to konieczne) 45
- Inne kwestie dotyczące projektowania 45
- Wersja Excela zainstalowana przez użytkownika 45
- Wersje językowe 46
- Wydajność systemu 46
- Tryby karty graficznej 46
Rozdział 2. Wprowadzenie do języka VBA 47
- Rejestrator makr Excela 47
- Tworzenie pierwszego makra 48
- Porównanie rejestrowania makr z odwołaniami względnymi i bezwzględnymi 51
- Inne zagadnienia związane z makrami 55
- Praca z edytorem Visual Basic Editor (VBE) 59
- Podstawowe elementy edytora VBE 60
- Tajemnice okna Project 61
- Tajemnice okna Code 63
- Dostosowywanie środowiska edytora Visual Basic 66
- Karta Editor Format 68
- Karta General 69
- Karta Docking 69
- Podstawowe informacje o języku VBA 70
- Obiekty 70
- Kolekcje 71
- Właściwości 72
- Tajemnice obiektów Range 75
- Wyszukiwanie właściwości obiektów Range 75
- Właściwość Range 75
- Właściwość Cells 76
- Właściwość Offset 78
- Podstawowe zagadnienia, które należy zapamiętać 80
- Nie panikuj - nie jesteś sam 81
- Przeczytaj resztę książki 82
- Pozwól Excelowi napisać makro za Ciebie 82
- Korzystaj z systemu pomocy 82
- Używaj przeglądarki obiektów 83
- Szukaj kodu w internecie 84
- Wykorzystuj fora dyskusyjne użytkowników Excela 84
- Odwiedzaj blogi ekspertów 85
- Poszukaj szkolenia wideo na YouTube 85
- Ucz się z Microsoft Office Dev Center 86
- Analizuj inne aplikacje Excela, które są używane w Twojej organizacji 86
- Zapytaj lokalnego guru 86
Rozdział 3. Podstawy programowania w języku VBA 87
- Przegląd elementów języka VBA 87
- Komentarze 89
- Zmienne, typy danych i stałe 90
- Definiowanie typów danych 91
- Deklarowanie zmiennych 93
- Zasięg zmiennych 95
- Zastosowanie stałych 97
- Praca z łańcuchami tekstu 98
- Przetwarzanie dat 99
- Instrukcje przypisania 100
- Tablice 102
- Deklarowanie tablic 102
- Deklarowanie tablic wielowymiarowych 103
- Deklarowanie tablic dynamicznych 103
- Zmienne obiektowe 103
- Typy danych definiowane przez użytkownika 105
- Wbudowane funkcje VBA 105
- Praca z obiektami i kolekcjami 108
- Polecenie With ... End With 108
- Polecenie For Each ... Next 109
- Sterowanie sposobem wykonywania procedur 111
- Polecenie GoTo 111
- Polecenie If ... Then 112
- Polecenie Select Case 115
- Wykonywanie bloku instrukcji w ramach pętli 118
Rozdział 4. Tworzenie procedur w języku VBA 125
- Kilka słów o procedurach 125
- Deklarowanie procedury Sub 126
- Zasięg procedury 126
- Wykonywanie procedur Sub 128
- Uruchamianie procedury przy użyciu polecenia Run Sub/UserForm 128
- Uruchamianie procedury z poziomu okna dialogowego Makro 129
- Uruchamianie procedury przy użyciu skrótu z klawiszem Ctrl 130
- Uruchamianie procedury z poziomu Wstążki 131
- Uruchamianie procedur za pośrednictwem niestandardowego menu podręcznego 131
- Wywoływanie procedury z poziomu innej procedury 131
- Uruchamianie procedury poprzez kliknięcie obiektu 135
- Wykonywanie procedury po wystąpieniu określonego zdarzenia 137
- Uruchamianie procedury z poziomu okna Immediate 137
- Przekazywanie argumentów procedurom 138
- Metody obsługi błędów 141
- Przechwytywanie błędów 141
- Przykłady kodu źródłowego obsługującego błędy 142
- Praktyczny przykład wykorzystujący procedury Sub 145
- Cel 145
- Wymagania projektowe 145
- Co już wiesz 146
- Podejście do zagadnienia 146
- Wstępne rejestrowanie makr 147
- Przygotowania 148
- Tworzenie kodu źródłowego 149
- Tworzenie procedury sortującej 150
- Dodatkowe testy 154
- Usuwanie problemów 154
- Dostępność narzędzia 157
- Ocena projektu 158
Rozdział 5. Tworzenie funkcji w języku VBA 159
- Porównanie procedur Sub i Function 159
- Dlaczego tworzymy funkcje niestandardowe? 160
- Twoja pierwsza funkcja 160
- Zastosowanie funkcji w arkuszu 161
- Zastosowanie funkcji w procedurze języka VBA 161
- Analiza funkcji niestandardowej 162
- Procedury Function 164
- Zasięg funkcji 165
- Wywoływanie funkcji 165
- Argumenty funkcji 168
- Przykłady funkcji 168
- Funkcja bezargumentowa 168
- Funkcje jednoargumentowe 171
- Funkcje z dwoma argumentami 173
- Funkcja pobierająca tablicę jako argument 174
- Funkcje z argumentami opcjonalnymi 175
- Funkcje zwracające tablicę VBA 176
- Funkcje zwracające wartość błędu 178
- Funkcje o nieokreślonej liczbie argumentów 180
- Emulacja funkcji arkuszowej SUMA 181
- Rozszerzone funkcje daty 183
- Wykrywanie i usuwanie błędów w funkcjach 185
- Okno dialogowe Wstawianie funkcji 186
- Zastosowanie metody MacroOptions 187
- Definiowanie kategorii funkcji 188
- Ręczne dodawanie opisu funkcji 189
- Zastosowanie dodatków do przechowywania funkcji niestandardowych 190
- Korzystanie z Windows API 190
- Przykłady zastosowania funkcji interfejsu API systemu Windows 191
- Identyfikacja katalogu domowego systemu Windows 191
- Wykrywanie wciśnięcia klawisza Shift 193
- Dodatkowe informacje na temat funkcji interfejsu API 193
Rozdział 6. Obsługa zdarzeń 195
- Co powinieneś wiedzieć o zdarzeniach 195
- Sekwencje zdarzeń 196
- Gdzie należy umieścić procedury obsługi zdarzeń? 196
- Wyłączanie obsługi zdarzeń 197
- Tworzenie kodu procedury obsługi zdarzeń 198
- Procedury obsługi zdarzeń z argumentami 199
- Zdarzenia poziomu skoroszytu 201
- Zdarzenie Open 202
- Zdarzenie Activate 202
- Zdarzenie SheetActivate 203
- Zdarzenie NewSheet 203
- Zdarzenie BeforeSave 203
- Zdarzenie Deactivate 204
- Zdarzenie BeforePrint 204
- Zdarzenie BeforeClose 205
- Zdarzenia poziomu arkusza 207
- Zdarzenie Change 208
- Monitorowanie zmian w wybranym zakresie komórek 209
- Zdarzenie SelectionChange 213
- Zdarzenie BeforeDoubleClick 214
- Zdarzenie BeforeRightClick 214
- Zdarzenia dotyczące aplikacji 215
- Włączanie obsługi zdarzeń poziomu aplikacji 215
- Sprawdzanie, czy skoroszyt jest otwarty 216
- Monitorowanie zdarzeń poziomu aplikacji 218
- Zdarzenia niezwiązane z obiektami 218
- Zdarzenie OnTime 219
- Zdarzenie OnKey 220
Rozdział 7. Przykłady i techniki programowania w języku VBA 225
- Nauka poprzez praktykę 225
- Przetwarzanie zakresów 226
- Kopiowanie zakresów 226
- Przenoszenie zakresów 227
- Kopiowanie zakresu o zmiennej wielkości 227
- Zaznaczanie oraz identyfikacja różnego typu zakresów 229
- Zmiana rozmiaru zakresu komórek 230
- Wprowadzanie wartości do komórki 231
- Wprowadzanie wartości do następnej pustej komórki 232
- Wstrzymywanie działania makra w celu umożliwienia pobrania zakresu wyznaczonego przez użytkownika 233
- Zliczanie zaznaczonych komórek 235
- Określanie typu zaznaczonego zakresu 235
- Wydajne przetwarzanie komórek zaznaczonego zakresu przy użyciu pętli 237
- Usuwanie wszystkich pustych wierszy 240
- Powielanie wierszy 240
- Określanie, czy zakres zawiera się w innym zakresie 242
- Określanie typu danych zawartych w komórce 242
- Odczytywanie i zapisywanie zakresów 243
- Lepsza metoda zapisywania danych do zakresu komórek 245
- Przenoszenie zawartości tablic jednowymiarowych 246
- Przenoszenie zawartości zakresu do tablicy typu Variant 247
- Zaznaczanie komórek na podstawie wartości 248
- Kopiowanie nieciągłego zakresu komórek 249
- Przetwarzanie skoroszytów i arkuszy 251
- Zapisywanie wszystkich skoroszytów 251
- Zapisywanie i zamykanie wszystkich skoroszytów 251
- Ukrywanie wszystkich komórek arkusza poza zaznaczonym zakresem 252
- Tworzenie spisu treści zawierającego hiperłącza 253
- Synchronizowanie arkuszy 254
- Techniki programowania w języku VBA 254
- Przełączanie wartości właściwości typu logicznego 255
- Wyświetlanie daty i czasu 255
- Wyświetlanie czasu w formie przyjaznej dla użytkownika 257
- Pobieranie listy czcionek 258
- Sortowanie tablicy 259
- Przetwarzanie grupy plików 259
- Ciekawe funkcje, których możesz użyć w swoich projektach 261
- Funkcja FileExists 261
- Funkcja FileNameOnly 261
- Funkcja PathExists 262
- Funkcja RangeNameExists 262
- Funkcja SheetExists 263
- Funkcja WorkbookIsOpen 263
- Pobieranie wartości z zamkniętego skoroszytu 264
- Użyteczne, niestandardowe funkcje arkuszowe 265
- Funkcje zwracające informacje o formatowaniu komórki 265
- Gadający arkusz 267
- Wyświetlanie daty zapisania lub wydrukowania pliku 267
- Obiekty nadrzędne 268
- Zliczanie komórek, których wartości zawierają się pomiędzy dwoma wartościami 269
- Wyznaczanie ostatniej niepustej komórki kolumny lub wiersza 269
- Czy dany łańcuch tekstu jest zgodny ze wzorcem? 271
- Wyznaczanie n-tego elementu łańcucha 272
- Zamiana wartości na postać słowną 272
- Funkcja wielofunkcyjna 273
- Funkcja SHEETOFFSET 274
- Zwracanie maksymalnej wartości ze wszystkich arkuszy 274
- Zwracanie tablicy zawierającej unikatowe, losowo uporządkowane liczby całkowite 275
- Porządkowanie zakresu w losowy sposób 277
- Sortowanie zakresów 278
- Wywołania funkcji interfejsu Windows API 279
- Deklaracje API 279
- Określanie skojarzeń plików 280
- Pobieranie informacji dotyczących drukarki domyślnej 281
- Pobieranie informacji o aktualnej rozdzielczości karty graficznej 282
- Odczytywanie zawartości rejestru systemu Windows i zapisywanie w nim danych 283
CZĘŚĆ II. ZAAWANSOWANE TECHNIKI PROGRAMOWANIA 287
Rozdział 8. Tabele przestawne 289
- Przykład prostej tabeli przestawnej 289
- Tworzenie tabel przestawnych 290
- Analiza zarejestrowanego kodu tworzącego tabelę przestawną 292
- Optymalizacja wygenerowanego kodu tworzącego tabelę przestawną 292
- Tworzenie złożonych tabel przestawnych 294
- Kod tworzący tabelę przestawną 295
- Jak działa złożona tabela przestawna? 296
- Jednoczesne tworzenie wielu tabel przestawnych 298
- Tworzenie odwróconych tabel przestawnych 300
Rozdział 9. Wykresy 303
- Podstawowe wiadomości o wykresach 303
- Lokalizacja wykresu 303
- Rejestrator makr a wykresy 304
- Model obiektu Chart 304
- Tworzenie wykresów osadzonych na arkuszu danych 306
- Tworzenie wykresu na arkuszu wykresu 307
- Modyfikowanie wykresów 307
- Wykorzystanie VBA do uaktywnienia wykresu 308
- Przenoszenie wykresu 309
- Wykorzystanie VBA do dezaktywacji wykresu 310
- Sprawdzanie, czy wykres został uaktywniony 311
- Usuwanie elementów z kolekcji ChartObjects lub Charts 311
- Przetwarzanie wszystkich wykresów w pętli 312
- Zmiana rozmiarów i wyrównywanie obiektów ChartObject 314
- Tworzenie dużej liczby wykresów 315
- Eksportowanie wykresów 317
- Eksportowanie wszystkich obiektów graficznych 318
- Zmiana danych prezentowanych na wykresie 319
- Modyfikacja danych wykresu na podstawie aktywnej komórki 319
- Zastosowanie języka VBA do identyfikacji zakresu danych prezentowanych na wykresie 321
- Wykorzystanie VBA do wyświetlania dowolnych etykiet danych na wykresie 324
- Wyświetlanie wykresu w oknie formularza UserForm 327
- Zdarzenia związane z wykresami 329
- Przykład wykorzystania zdarzeń związanych z wykresami 329
- Obsługa zdarzeń dla wykresów osadzonych 331
- Przykład zastosowania zdarzeń dla wykresów osadzonych 332
- Jak ułatwić sobie pracę z wykresami przy użyciu VBA? 334
- Drukowanie wykresów osadzonych na arkuszu 334
- Tworzenie wykresów, które nie są połączone z danymi 335
- Wykorzystanie zdarzenia MouseOver do wyświetlania tekstu 337
- Przewijanie wykresów 339
- Tworzenie wykresów przebiegu w czasie 340
Rozdział 10. Interakcje z innymi aplikacjami 345
- Automatyzacja zadań w pakiecie Microsoft Office 345
- Koncepcja wiązań 345
- Przykład prostej automatyzacji 348
- Sterowanie bazą danych Access z poziomu Excela 348
- Uruchamianie zapytań bazy danych Access z poziomu Excela 348
- Uruchamianie makr Accessa z poziomu Excela 349
- Sterowanie edytorem Word z poziomu Excela 350
- Przesyłanie danych z Excela do dokumentu Worda 350
- Symulacja tworzenia korespondencji seryjnej z użyciem Worda 352
- Sterowanie programem PowerPoint z poziomu Excela 354
- Przesyłanie danych z Excela do prezentacji PowerPoint 354
- Przesyłanie wszystkich wykresów z arkusza Excela do prezentacji PowerPoint 355
- Zamiana skoroszytu na prezentację PowerPoint 356
- Sterowanie programem Outlook z poziomu Excela 357
- Wysyłanie aktywnego skoroszytu jako załącznika 357
- Wysyłanie wybranego zakresu komórek jako załącznika wiadomości 358
- Wysyłanie pojedynczego arkusza jako załącznika wiadomości 359
- Wysyłanie wiadomości do wszystkich adresatów z listy kontaktów 360
- Uruchamianie innych aplikacji z poziomu Excela 361
- Zastosowanie funkcji Shell języka VBA 361
- Zastosowanie funkcji ShellExecute interfejsu Windows API 363
- Wykorzystanie instrukcji AppActivate 365
- Uruchamianie okien dialogowych Panelu sterowania 365
Rozdział 11. Praca z danymi zewnętrznymi i plikami 367
- Praca z danymi ze źródeł zewnętrznych 367
- Wprowadzenie do zapytań Power Query 367
- Etapy tworzenia zapytania 373
- Odświeżanie danych z zapytania Power Query 374
- Zarządzanie istniejącymi zapytaniami 375
- Używanie języka VBA do tworzenia dynamicznych połączeń 375
- Przechodzenie w pętli przez wszystkie połączenia skoroszytu 378
- Zastosowanie ADO i VBA do pobierania danych ze źródeł zewnętrznych 378
- Ciąg połączenia 379
- Deklarowanie zestawu rekordów 380
- Odwołania do biblioteki obiektów ADO 381
- Łączenie wszystkiego razem w kodzie procedury 382
- Zastosowanie obiektów ADO w aktywnym skoroszycie 383
- Operacje na plikach tekstowych 385
- Otwieranie plików tekstowych 386
- Odczytywanie plików tekstowych 386
- Zapisywanie danych do plików tekstowych 387
- Przydzielanie numeru pliku 387
- Określanie lub ustawianie pozycji w pliku 387
- Instrukcje pozwalające na odczytywanie i zapisywanie plików 388
- Przykłady wykonywania operacji na plikach 388
- Importowanie danych z pliku tekstowego 388
- Eksportowanie zakresu do pliku tekstowego 389
- Importowanie pliku tekstowego do zakresu 390
- Logowanie wykorzystania Excela 391
- Filtrowanie zawartości pliku tekstowego 391
- Najczęściej wykonywane operacje na plikach 392
- Zastosowanie poleceń języka VBA do wykonywania operacji na plikach 392
- Zastosowanie obiektu FileSystemObject 397
- Pakowanie i rozpakowywanie plików 399
- Pakowanie plików do formatu ZIP 399
- Rozpakowywanie plików ZIP 400
CZĘŚĆ III. PRACA Z FORMULARZAMI USERFORM 403
Rozdział 12. Tworzenie własnych okien dialogowych 405
- Zanim rozpoczniesz tworzenie formularza UserForm 405
- Okno wprowadzania danych 405
- Funkcja InputBox języka VBA 406
- Metoda Application.InputBox 408
- Funkcja MsgBox języka VBA 411
- Metoda GetOpenFilename programu Excel 415
- Metoda GetSaveAsFilename programu Excel 418
- Okno wybierania katalogu 419
- Wyświetlanie wbudowanych okien dialogowych Excela 419
- Wyświetlanie formularza danych 422
- Wyświetlanie formularza wprowadzania danych 422
- Wyświetlanie formularza wprowadzania danych za pomocą VBA 423
Rozdział 13. Wprowadzenie do formularzy UserForm 425
- Jak Excel obsługuje niestandardowe okna dialogowe 425
- Wstawianie nowego formularza UserForm 426
- Dodawanie formantów do formularza UserForm 426
- Formanty okna Toolbox 427
- Formant CheckBox 427
- Formant ComboBox 428
- Formant CommandButton 428
- Formant Frame 428
- Formant Image 428
- Formant Label 429
- Formant ListBox 429
- Formant MultiPage 429
- Formant OptionButton 429
- Formant RefEdit 429
- Formant ScrollBar 429
- Formant SpinButton 430
- Formant TabStrip 430
- Formant TextBox 430
- Formant ToggleButton 430
- Modyfikowanie formantów formularza UserForm 431
- Modyfikowanie właściwości formantów 433
- Zastosowanie okna Properties 433
- Wspólne właściwości 434
- Uwzględnienie wymagań użytkowników preferujących korzystanie z klawiatury 436
- Wyświetlanie formularza UserForm 438
- Zmiana położenia formularza na ekranie 439
- Wyświetlanie niemodalnych okien formularzy UserForm 439
- Wyświetlanie formularza UserForm na podstawie zmiennej 439
- Ładowanie formularza UserForm 440
- Procedury obsługi zdarzeń 440
- Zamykanie formularza UserForm 440
- Przykład tworzenia formularza UserForm 441
- Tworzenie formularza UserForm 442
- Tworzenie kodu procedury wyświetlającej okno dialogowe 444
- Testowanie okna dialogowego 445
- Dodawanie procedur obsługi zdarzeń 445
- Zakończenie tworzenia okna dialogowego 447
- Zdobywanie informacji na temat zdarzeń 447
- Zdarzenia związane z formantem SpinButton 449
- Współpraca formantu SpinButton z formantem TextBox 450
- Odwoływanie się do formantów formularza UserForm 452
- Dostosowywanie okna Toolbox do własnych wymagań 454
- Dodawanie nowych kart 454
- Dostosowywanie lub łączenie formantów 454
- Dodawanie nowych formantów ActiveX 455
- Tworzenie szablonów formularzy UserForm 456
- Lista kontrolna tworzenia i testowania formularzy UserForm 457
Rozdział 14. Przykłady formularzy UserForm 459
- Tworzenie formularza UserForm pełniącego funkcję menu 459
- Zastosowanie przycisków CommandButton w formularzach UserForm 459
- Zastosowanie formantów ListBox w formularzach UserForm 460
- Zaznaczanie zakresów przy użyciu formularza UserForm 461
- Tworzenie okna powitalnego 463
- Wyłączanie przycisku Zamknij formularza UserForm 465
- Zmiana wielkości formularza UserForm 465
- Powiększanie i przewijanie arkusza przy użyciu formularza UserForm 467
- Zastosowania formantu ListBox 469
- Tworzenie listy elementów formantu ListBox 469
- Identyfikowanie zaznaczonego elementu listy formantu ListBox 473
- Identyfikowanie wielu zaznaczonych elementów listy formantu ListBox 474
- Wiele list w jednym formancie ListBox 475
- Przenoszenie elementów listy formantu ListBox 476
- Zmiana kolejności elementów listy formantu ListBox 477
- Wielokolumnowe formanty ListBox 479
- Zastosowanie formantu ListBox do wybierania wierszy arkusza 481
- Uaktywnianie arkusza za pomocą formantu ListBox 483
- Filtrowanie zawartości listy za pomocą pola tekstowego 485
- Zastosowanie formantu MultiPage na formularzach UserForm 487
- Korzystanie z formantów zewnętrznych 488
- Animowanie etykiet 490
Rozdział 15. Zaawansowane techniki korzystania z formularzy UserForm 493
- Niemodalne okna dialogowe 493
- Wyświetlanie wskaźnika postępu zadania 497
- Tworzenie samodzielnego wskaźnika postępu zadania 498
- Wyświetlanie wskaźnika postępu zintegrowanego z formularzem UserForm 501
- Tworzenie innych, niegraficznych wskaźników postępu 504
- Tworzenie kreatorów 506
- Konfigurowanie formantu MultiPage w celu utworzenia kreatora 507
- Dodawanie przycisków do formularza UserForm kreatora 508
- Programowanie przycisków kreatora 508
- Zależności programowe w kreatorach 509
- Wykonywanie zadań za pomocą kreatorów 511
- Emulacja funkcji MsgBox 512
- Emulacja funkcji MsgBox: kod funkcji MyMsgBox 512
- Jak działa funkcja MyMsgBox 514
- Wykorzystanie funkcji MyMsgBox do emulacji funkcji MsgBox 515
- Formularz UserForm z formantami, których położenie można zmieniać 515
- Formularz UserForm bez paska tytułowego 517
- Symulacja paska narzędzi za pomocą formularza UserForm 518
- Emulowanie panelu zadań za pomocą formularza UserForm 520
- Formularze UserForm z możliwością zmiany rozmiaru 521
- Obsługa wielu przycisków formularza UserForm za pomocą jednej procedury obsługi zdarzeń 525
- Wybór koloru za pomocą formularza UserForm 528
- Wyświetlanie wykresów na formularzach UserForm 529
- Zapisywanie wykresu w postaci pliku GIF 530
- Modyfikacja właściwości Picture formantu Image 530
- Tworzenie półprzezroczystych formularzy UserForm 531
- Układanka na formularzu UserForm 532
- Poker na formularzu UserForm 534
CZĘŚĆ IV. TWORZENIE APLIKACJI 535
Rozdział 16. Tworzenie i wykorzystanie dodatków 537
- Czym są dodatki? 537
- Porównanie dodatku ze standardowym skoroszytem 537
- Po co tworzy się dodatki? 538
- Menedżer dodatków Excela 540
- Tworzenie dodatków 541
- Przykład tworzenia dodatku 542
- Tworzenie opisu dla dodatku 544
- Tworzenie dodatku 544
- Instalowanie dodatku 545
- Testowanie dodatków 546
- Dystrybucja dodatków 546
- Modyfikowanie dodatku 546
- Porównanie plików XLAM i XLSM 548
- Pliki XLAM - przynależność do kolekcji z poziomu VBA 548
- Widoczność plików XLSM i XLAM 548
- Arkusze i wykresy w plikach XLSM i XLAM 549
- Dostęp do procedur VBA w dodatku 550
- Przetwarzanie dodatków za pomocą kodu VBA 553
- Właściwości obiektu AddIn 554
- Korzystanie z dodatku jak ze skoroszytu 557
- Zdarzenia związane z obiektami AddIn 558
- Optymalizacja wydajności dodatków 558
- Problemy z dodatkami 559
- Upewnij się, że dodatek został zainstalowany 559
- Odwoływanie się do innych plików z poziomu dodatku 561
Rozdział 17. Praca ze Wstążką 563
- Wprowadzenie do pracy ze Wstążką 563
- Dostosowywanie Wstążki do własnych potrzeb 565
- Dodawanie nowych przycisków do Wstążki 565
- Dodawanie przycisków do paska narzędzi Szybki dostęp 568
- Ograniczenia w dostosowywaniu Wstążki 569
- Modyfikowanie Wstążki za pomocą kodu RibbonX 570
- Dodawanie przycisków do istniejącej karty 570
- Dodawanie pola wyboru do istniejącej karty 576
- Demo formantów Wstążki 578
- Przykład użycia formantu DynamicMenu 585
- Więcej wskazówek dotyczących modyfikacji Wstążki 587
- VBA i Wstążka 589
- Dostęp do poleceń Wstążki 589
- Praca ze Wstążką 589
- Aktywowanie karty 592
- Tworzenie pasków narzędzi w starym stylu 592
- Ograniczenia funkcjonalności tradycyjnych pasków narzędzi w Excelu 2007 i nowszych wersjach 592
- Kod tworzący pasek narzędzi 593
Rozdział 18. Praca z menu podręcznym 597
- Obiekt CommandBar 597
- Rodzaje obiektów CommandBar 597
- Wyświetlanie menu podręcznych 598
- Odwołania do elementów kolekcji CommandBars 598
- Odwołania do formantów obiektu CommandBar 599
- Właściwości formantów obiektu CommandBar 601
- Wyświetlanie wszystkich elementów menu podręcznego 601
- Wykorzystanie VBA do dostosowywania menu podręcznego 603
- Menu podręczne w jednodokumentowym interfejsie Excela 603
- Resetowanie menu podręcznego 603
- Wyłączanie menu podręcznego 606
- Wyłączanie wybranych elementów menu podręcznego 606
- Dodawanie nowego elementu do menu podręcznego Cell 606
- Dodawanie nowego podmenu do menu podręcznego 608
- Ograniczanie zasięgu modyfikacji menu podręcznego do jednego skoroszytu 610
- Menu podręczne i zdarzenia 611
- Automatyczne tworzenie i usuwanie menu podręcznego 611
- Wyłączanie lub ukrywanie elementów menu podręcznego 612
- Tworzenie kontekstowych menu podręcznych 612
Rozdział 19. Tworzenie systemów pomocy w aplikacjach 615
- Systemy pomocy w aplikacjach Excela 615
- Systemy pomocy wykorzystujące komponenty Excela 617
- Wykorzystanie komentarzy do tworzenia systemów pomocy 617
- Wykorzystanie pól tekstowych do wyświetlania pomocy 618
- Wykorzystanie arkusza do wyświetlania tekstu pomocy 620
- Wyświetlanie pomocy w oknie formularza UserForm 621
- Wyświetlanie pomocy w oknie przeglądarki sieciowej 624
- Zastosowanie plików w formacie HTML 624
- Zastosowanie plików w formacie MHTML 625
- Wykorzystanie systemu HTML Help 626
- Wykorzystanie metody Help do wyświetlania pomocy w formacie HTML Help 628
- Łączenie pliku pomocy z aplikacją 629
- Przypisanie tematów pomocy do funkcji VBA 630
Rozdział 20. Moduły klas 631
- Czym jest moduł klasy? 631
- Wbudowane moduły klas 632
- Niestandardowe moduły klas 632
- Tworzymy klasę NumLock 633
- Wstawianie modułu klasy 634
- Dodawanie kodu VBA do modułu klasy 634
- Zastosowanie klasy NumLock 635
- Programowanie właściwości, metod i zdarzeń 636
- Programowanie właściwości obiektów 636
- Programowanie metod obiektów 638
- Zdarzenia modułu klasy 638
- Zdarzenia obiektu QueryTable 639
- Tworzenie klas przechowujących inne klasy 642
- Tworzenie klas CSalesRep oraz CSalesReps 642
- Tworzenie klas CInvoice oraz CInvoices 644
- Wypełnianie klasy nadrzędnej obiektami 645
- Obliczanie prowizji 646
Rozdział 21. Problemy z kompatybilnością aplikacji 649
- Co to jest kompatybilność? 649
- Rodzaje problemów ze zgodnością 650
- Unikaj używania nowych funkcji i mechanizmów 651
- Czy aplikacja będzie działać na komputerach Macintosh? 653
- Praca z 64-bitową wersją Excela 654
- Tworzenie aplikacji dla wielu wersji narodowych 655
- Aplikacje obsługujące wiele języków 656
- Obsługa języka w kodzie VBA 657
- Wykorzystanie właściwości lokalnych 658
- Identyfikacja ustawień systemu 658
- Ustawienia daty i godziny 660
DODATKI 661
Dodatek A. Instrukcje i funkcje VBA 663
Skorowidz 671