Edytor makr VBA |
IntelliSense, Object Browser |
Przegląd i omówienie elementów i okien edytora VBA (IDE). Optymalna konfiguracja parametrów IDE. Moduły, procedury, funkcje, klasy-wstęp. Zasięg procedur. Wykorzystanie technologii podpowiedzi w trakcie edycji. Ochrona makr przed przeglądaniem i zmianami. Skoroszyt makr osobistych (Personal.xlsm). Korzystanie z pomocy VBA i MSDN. Optymalna konfiguracja aplikacji a dostępne poziomy zabezpieczeń. Bezpieczne lokalizacje makr. Zasady bezpieczeństwa. Własny cyfrowy podpis. |
- Jak uruchomić i skonfigurować edytor VBA do optymalnej i wygodnej pracy.
- Jak wykorzystać systemy podpowiedzi w celu sprawnego i efektywnego pisania programów.
- Jak zabezpieczyć swoje makra przed dostępem innych programistów.
- Jak dbać o bezpieczeństwo uruchamiając makra tworzone przez innych.
- Jak efektywnie korzystać z pomocy VBA i dostępnej na stronie MSDN Microsoft.
|
Programowanie obiektowe |
Methods, Properties, Object, Collection, Parameters, Hierarchy |
Idea programowania obiektowego. Definicje: obiekty, kolekcje, właściwości, metody, parametry, argumenty, hierarchia, itp. Praktyczne wskazówki dla poczatkujących programistów. |
- Czym są obiekty i kolekcje.
- Co to jest hierarchia obiektów i jakie praktyczne znaczenie ma to pojęcie.
- Jaka funkcje pełnią i czym różnią się metody, właściwości i zdarzenia.
- Jak skutecznie parametryzować metody i określać wartości właściwości.
- Jak odczytywać właściwości.
|
Procedury |
Sub, Option Private Module, GoTo, GoSub, Call, Run |
Tworzenie procedur. Typy i zasięg procedur. Przekazywanie argumentów miedzy procedurami, argumenty domyślne (byRev, byVal). Deklaracje modułowe. Nawigacja wewnątrz procedur. Zasady tworzenia dobrego kodu- wstęp. |
- Jak stworzyć makro niewidoczne po stronie aplikacji Excel.
- Jak konstruować i wywoływać makra z poziomu innych procedur.
- Jak profesjonalnie konstruować procedury odwołujące się do innych makr.
|
Zmienne |
Option Explicit, TypeName, DefType, Static, Dim, Public, Private |
Czym jest zmienna i do czego wykorzystujemy ja w kodzie VBA? Zmienne- typy, zasięg zmiennych, sposób deklaracji, czas życia. Stale- deklarowanie i wykorzystywanie. Standardy nazewnictwa. Zmienne obiektowe. |
- Dlaczego zmienna jest bardzo ważnym elementem programu.
- Dlaczego należy określać typ zmiennej i na ile wpływa to na efektywność wykonania procedury.
- Jakie sztuczki stosują profesjonaliści w pracy ze zmiennymi w celu sprawnego programowania.
- Jak skutecznie wykorzystać zmienna obiektowa, która stanie się ważnym elementem dalszej części kursu.
|
Funkcje i operatory |
WorksheetFunction |
Funkcje arkuszowe i VBA: czasu, matematyczne, tekstowe, informacyjne, inne. Operatory: przypisania, matematyczne, tekstowe, logiczne. Korzystanie z gotowych funkcji arkuszowych Excela po stronie VBA. Łączniki ciągów tekstowych. |
- Jak wykonać operacje matematyczne w makrze.
- Jak pobrać fragmenty z tekstów, zamienić ciągi znaków, wykonać inne operacje z ciągami tekstowymi.
- Jak wykorzystać funkcje arkuszowe Excela w kodzie VBA bez odwołania do zakresów.
- Wykorzystanie funkcji VBA i arkuszowych zwracających wartości Prawda/Fałsz.
|
Pętle |
For...Next, For Each...Next, Do...Loop, While…Wend, Exit… |
Mechanizmy powtarzania operacji. Pętle: For…Next, Do…While, Do…Until. Wcześniejsze zakończenie pętli. Pętle własne użytkownika: pętle rekurencyjne i pętle sterowane czasem (Excel). |
- Jak powtórzyć działanie określoną ilość razy.
- Jak wykonać operacje z każdym elementem kolekcji.
- Która pętle najlepiej zastosować w określonych sytuacjach.
- Jak powtórzyć lub wykonać operacje o określonej godzinie lub po upływie określonego czasu.
|
Instrukcje warunkowe |
Option Compare Text, LBound, Ubound |
Procesy decyzyjne po stronie kodu VBA. Instrukcje warunkowe: If…End If, Select Case. Pomocnicze drobne funkcje warunkowe. Operatory logiczne. Wskazówki i dobre praktyki. |
- Jak kierować przebiegiem procedury zależnie od wyników określonych parametrów.
- Jaki typ instrukcji warunkowej zastosować i jak połączyć kryteria warunków.
|
Struktura With End With |
Parent |
Wykorzystanie struktury With…End With, zachowanie rejestratora (Excel), dobre praktyki, zasady. Konstrukcja With…End With a zmienne obiektowe. |
- Kiedy i jak należy stosować strukturę With…End With.
- Jakie korzyści osiągamy sięgając po tą instrukcję.
- Jak w sposób zaawansowany stosować techniki zagnieżdżania struktury.
|
Rejestrator makr Excel |
|
Optymalna konfiguracja aplikacji Excel. Rejestracja, analiza i modyfikacja utworzonych makr. Praktyczne wskazówki. |
- Jaką efektywnie wykorzystywać rejestratora makr.
- Jak radzić sobie z nieefektywnością operacji wykonywanych przez rejestratora.
|
Excel-Obiekty i kolekcje I |
Application, Window, Workbook, Worksheet, Sheet, Interior, Font, FormatCondition, Comment, Hyperlink i inne |
Obiekty i kolekcje- przypomnienie/wprowadzenie definicji. Hierarchia obiektów w Excelu. Omówienie wybranych, podstawowych obiektów i kolekcji Excela: aplikacja, okno, skoroszyt, arkusz, komentarze, formatowanie warunkowe oraz kilka innych obiektów. |
- Jak ustawiać właściwości aplikacji Excel z poziomu kodu VBA.
- Jak utworzyć, otworzyć i zapisać skoroszyt Excela. Jak określić lokalizację skoroszytu na dysku.
- Czym różnią się obiekty Sheets, Worksheets i Charts.
- Poznasz wiele właściwości i metod dot. skoroszytów, arkuszy
- Jak pracować z czcionką i kolorami komórek.
- Poznasz wiele drobnych lecz ważnych technik pracy z podstawowymi obiektami Excela.
|
Praca z zakresami |
Range, Cells, Selection, Columns, Rows, Activecell, Name, itp. |
Metody uzyskiwania dostępu i odwołań do komórek arkusza. Metody i właściwości obszarów komórek. Formuły i wartości w komórkach. Odwołanie R1C1. Dynamiczna praca z zakresami. Filtrowanie. Zastępowanie. Sortowanie. Wypełnianie. Itp. |
- Jak właściwie i efektywnie korzystać z najważniejszego obiektu aplikacji Excel- obiektu reprezentującego komórkę lub dowolny zakres komórek.
|
Zdarzenia |
OnTime, OnKey |
Zdarzenia-ogólne informacje dot. zdarzeń. Szczegółowe omówienie zdarzeń skoroszytu i zdarzeń arkuszy. Obsługa parametrów zdarzeń. Wyłączanie obsługi zdarzeń. Proste zdarzenia aplikacji. Blokada dostępu do menu podręcznego. |
- Jak wykorzystać określone zdarzenia (sytuacje i działania) związane z operacjami wykonywanymi ze skoroszytem oraz arkuszami skoroszytu.
- Gdzie i w jaki sposób stworzyć kod obsługujący zdarzenia.
- Jak zablokować możliwość skorzystania z menu podręcznego w arkuszu Excela.
- Jak uniemożliwić wykonanie zmiany w arkuszu bez blokowania go.
|
Tworzenie dodatków |
|
Dodatek a skoroszyt- porównanie. Dodatek po stronie aplikacji. Dodatek po stronie edytora VBA. Dostęp do procedur i funkcji w dodatkach. Zdarzenia dodatków. Skoroszyt makr osobistych (Personal.xlsb). |
- W jakich sytuacjach warto stworzyć dodatek.
- Jak właściwie przygotować dodatek.
- Jak udostępnić makra zapisane w dodatku w aplikacji Excel.
- Jak praktycznie wykorzystać w codziennej pracy skoroszyt makr Personal.xlsb
|
Proste okna VBA |
ExecuteMso, FIleSystem, MsgBox, InputBox, Application.InputBox |
Omówienie możliwych typów interakcji. Komunikacja z wykorzystaniem okien MsgBox i InputBox (dwa typy dla MS Excel). Wskazówki dot. wyświetlanych komunikatów. Wbudowane okna dialogowe: CommandBars, Dialogs, inne. Wywołanie okna z wykorzystaniem techniki API. |
- Jak konstruować, wywoływać i pobierać wartości z podstawowych wyskakujących okien.
- Jak wykorzystać kilka typów wbudowanych zaawansowanych okien do pobierania od użytkownika informacji.
- Jak wykorzystać najbardziej zaawansowane okna oparte o technikę API (na podstawie przykładów).
|
Formularze UserForm |
TextBox, ComboBox, ListBox, TabStrip, Multipage, itd.. |
Tworzenie formularzy po stronie Edytora VBA/IDE (tzw. UserForm). Typy formantów-przegląd dostępnych kontrolek/pól. Obsługa zdarzeń-tworzenie procedur obsługujących zdarzenia kontrolek i formularza. Wywoływanie i ukrywanie formularzy. Dobre praktyki i złote zasady. |
- Czym są formularze UserForm i jak je tworzymy.
- Jaki zestaw przycisków możemy wykorzystać w naszych oknach.
- Jak poprawnie skonfigurować parametry przycisków i okna, aby uzyskać efekt godny profesjonalisty.
- Jak tworzyć formularze aby nie zniechęcić się niedogodnościami wynikającymi z tego zadania.
|
Tablice Array |
Array, Option Base 1, UBound, Lbound |
Tablice języka VBA. Tablice jedno-, dwu- i wielowymiarowe. Tablice statyczne, dynamiczne. Praca z tablicami- sposoby sortowania i filtrowania tablic. Pobieranie i zwracanie tablic do zakresów. Funkcje wykorzystywane w pracy z tablicami. |
- Czym są tablice i w jakich sytuacjach warto je wykorzystać.
- Jak określić wielkość tablicy, ilość jej wymiarów i pobrać n-ty element z wymiaru x.
- Jak posortować elementy tablicy.
- Jak wykorzystać tablice do pobrania danych z arkusza i zwrócenia zawartości do komórek arkusza.
|
Własne funkcje (UDF) |
Function, MacroOptions, CVErr, Volatile |
Schemat tworzenia funkcji. Funkcje z parametrami domyślnymi. Tworzenie funkcji z parametrami opcjonalnymi. Tworzenie funkcji z dowolną ilością parametrów (ParamArray). Funkcje tablicowe. Mechanizmy obsługi błędów dla funkcji. Przydatne wskazówki i dobre praktyki. |
- Jak prawidłowo przygotować funkcję dostępną w VBA i/lub arkuszu Excel.
- Jak tworzyć funkcje, których wynik zależy od parametrów podawanych przez użytkownika.
- Jak tworzyć funkcje wykonujące obliczenia tablicowe i pracujące z nieskończoną ilością argumentów.
|
Wstęp do SQL |
SELECT, WHERE, ORDER BY, INSERT INTO, TOP, GROUP BY, HAVING, UPDATE, DELETE, FROM, INNER, JOIN, TRANSFORM, PIVOT, itd.. |
Wprowadzenie do zagadnień baz danych (teoria, relacje, itp.). Instrukcje języka SQL dostępne z poziomu technologii ADO. Tworzenie relacji. Praca z plikami-pobieranie i tworzenie tabel w plikach: XLS, TXT, CSV, bazami Accessa Podzapytania w składni SQL. Funkcje matematyczne i inne języka SQL. (Zagadnienie omówione na bazie technologii ADO) |
- Jak wykorzystać język SQL w pobieraniu danych z zewnętrznych źródeł.
- Jakie funkcje SQL udostępnia technologia ADO.
- Jak formułować zapytania SQL w pracy z plikami tekstowymi, arkuszami Excela, itp.
- Jak tworzyć nowe tabele (arkusze) danych w Excelu wykorzystując SQL.
- Jak łączyć ze sobą zapytania SQL w jedno zapytanie w celu usprawnienia procesu pobierania danych (podzapytania).
|
ADO i zewnętrzne źródła danych |
Recordset, Connection, Command, Fields, ConnectionString QueryTable |
Referencje i pobieranie danych z zewnętrznych źródeł. Wykorzystanie języka SQL z biblioteki ADO. Współpraca z bazą danych Access-pobieranie i aktualizacja danych w bazie. Praca z bazami opartymi o pliki CSV, TXT i XLS. Omówienie problemów w pracy z ADO. ADO dla tabeli przestawnej (PivotTable). Omówienie obiektu QueryTable w pracy z zewnętrznymi źródłami danych i Internetem. |
- Jak prawidłowo konstruować połączenia z zewnętrznymi źródłami danych.
- Jak wykorzystać alternatywne narzędzia tworzenia połączeń Connection.
- Z jakimi problemami pracy z ADO możesz się spotkać i jak sobie z nimi radzić.
- Jak tworzyć możliwie najprostszy kod w zaawansowanej technice ADO.
- Jak pobierać dane z wykorzystaniem alternatywnych technik opartych o obiekt QueryTable i inne metody.
|
Tabele przestawne |
PivotField, PivotTable, PivotCache, Connection |
Efektywne tworzenie tabel przestawnych. Dynamiczne raporty oparte o tabele przestawne. Własne pola obliczeniowe. Filtry tabel. Formatowanie, metody, właściwości. Tabele przestawne dla zewnętrznych źródeł danych- wstęp. Wstęp do ADO i podstawowe instrukcje SQL umożliwiające tworzenie tabel na bazie danych zewnętrznych. |
- Jak efektywnie utworzyć raport oparty o szereg tabel przestawnych.
- Jak tworzyć własne pola tabeli przestawnej.
- Jak budować tabele przestawne lepiej niż robi to rejestrator makr.
- Jak pobrać dane do tabeli przestawnej z zewnętrznych źródeł danych wykorzystując ADO i SQL.
|
Praca z plikami I |
Open, Write, Print, Dir |
Praca z plikami tekstowymi (CSV, TXT, itp.)- tworzenie, odczytywanie. Tworzenie log-ów. Tworzenie folderów. Odczytywanie zawartości folderu. |
- Jak utworzyć katalog, przenieść plik, usunąć go lub skopiować wykorzystując kod VBA.
- Jak odczytać listę plików i podfolderów dowolnego katalogu na dysku.
- Jak zapisać dane do pliku tekstowego i jak je odczytać.
|
Interakcja z aplikacjami Office |
CreateObject, GetObject, References |
Wczesne i późne wiązanie. Obsługa MS Word z poziomu MS Excel oraz Excela z poziomu Worda. Współpraca Excela z Outlookiem i PowerPoint-em. Wysyłanie e-maila z poziomu Excela. Wybrane, przykładowe obiekty w/w aplikacji-przegląd podstawowych obiektów MS Word, MS PowerPoint, MS Outlook. |
- Jak przygotować procedurę do pracy z inną aplikacją pakietu MS Office.
- Jak skutecznie wykorzystać system IntelliSense do efektywnego programowania z wykorzystaniem obiektów aplikacji MS Office.
- Jak tworzyć dokumenty Word i MS PowerPoint i dodawać do nich teksty, tabele i wykresy Excela.
- Jak wysłać wiadomość e-mail wykorzystując aplikację MS Outlook.
- Jak pobrać określone informacje o wszystkich wiadomościach e-mail znajdujących się w Outlooku.
|
Debugowanie |
Debug.Print, StatusBar |
Debugowanie krokowe. Czujki– śledzenie wartości zmiennych. Polecenia przerywające breakpoints (pułapki): Exit, Stop, Debug.Assert. Okienko Locals. Okienko Immediate. Okienko Watches. |
- Poznasz wszystkie podstawowe techniki odczytywania wartości zmiennych.
- Jak zatrzymać wykonanie procedury w zależności od jej przebiegu.
- Dodatkowe techniki śledzenia postępu wykonania procedury.
|
Obsługa błędów |
Err, On Error Resume/GoTo |
Rodzaje błędów i sposoby ich eliminacji. Mechanizmy obsługi błędów- dostępne schematy. Dobre praktyki. |
- Jakie dostępne schematy możesz wykorzystać w sytuacji, gdy procedura trafi na błąd wykonania.
- Jak skutecznie radzić sobie z błędami określonego typu.
- Jak skutecznie obsłużyć błędy procedur powiązanych.
|