Zaawansowane formularze użytkownika
Zasady konstrukcji poprawnych formularzy ("ergonomia" kodu). Zaawansowane właściwości formularzy i formantów: modalność, wiązanie formantów z klawiszami Enter i Escape, akceleratory, zdarzenia. Sprawdzanie poprawności danych wpisanych do pól tekstowych (zdarzenie Exit, Click). Zaawansowane metody korzystania z formantów - dostęp do właściwości i metod formantów z poziomu Visual Basic: wypełnianie list w kodzie, dynamiczne aktywowanie formantów. Zaawansowane formanty: RefEdit (pole adresu zakresu komórek), ProgressBar (wskaźnik postępu), TabStrip i Multipage (karta). Budowa aplikacji opartych na wielu formularzach, przekazywanie danych pomiędzy formularzami za pomocą zmiennych. Zasady konstrukcji poprawnych formularzy. Budowanie "dynamicznych" formularzy (ze zmienną liczbą elementów). Zapisywanie danych z formularzy do odpowiednich miejsc w arkuszu, wykorzystywanie nazw dynamicznych, lokalnych, zapisywanie danych do baz danych za pomocą ADO.
Dostęp do zewnętrznych baz danych
Dostęp do zewnętrznych baz danych (np. Microsoft Access, SQL Server, Oracle, mySQL) za pomocą obiektów bazodanowych standardu ADO (ActiveX Data Objects). Otwieranie baz danych i tabel w kodzie, obiekty Connection oraz Recordset. Wyszukiwanie danych w tabelach: (obiekt Find, Filter), zmiana i dodawanie danych w tabelach (Update, AddNew). Uruchamianie składni SQL bezpośrednio na serwerze baz danych (obiekt ADODB.Command). Bezpośredni dostęp do plików tekstowych za pomocą języka VBA: odczytywanie oraz zapisywanie danych w plikach tekstowych (na przykład w plikach o ilości rekordów przekraczających pojemność arkusza Excela).
Biblioteki systemowe i Windows API
Dostęp do funkcji API systemu Windows (Kernel32, User32, GDI32), deklarowanie funkcji API, zwracanie wyników przez funkcje API. Wykorzystanie funkcji systemowych API do typowych operacji takich jak: odczyt zalogowanego użytkownika, odczyt rozdzielczości ekranu, sprawdzenie klawisza CapsLock, otwarcie napędu CD. Biblioteki systemowe wscript.shell i Shell.Application i ich typowe użycie do operacji związanych z plikami i folderami (np. kopiowanie całych folderów, usuwanie do kosza, tworzenie pliku ZIP). Użycie Application.SendKeys (wysyłanie sekwencji klawiszy) do sterowania aplikacjami, które nie udostępniają bibliotek obiektów (np. aplikacje terminalowe).
Wykorzystanie Worda i Outlooka
Dostęp do obiektów innych aplikacji (Word, Outlook, Project), dołączanie bibliotek obiektów, deklaracja zmiennych obiektowych, wczesne i późne wiązanie. Obiekty programu Microsoft Word: Application, Document, Selection, Bookmark. Typowe zastosowanie programu Word - tworzenie i otwieranie dokumentów tekstowych z poziomu Excela, przekazywanie danych zawartych na arkuszu, automatyczne generowanie wydruków lub gotowych dokumentów na dysku, generowanie plików PDF. Obiekty programu Microsoft Outlook: Application, MailItem, Recipient, Attachment. Typowe zastosowanie programu Microsoft Outlook: automatyczne wysyłanie e-maili z personalizowanymi danymi do zdefiniowanych osób. Zaawansowane korzystanie z Outlooka: dynamiczne generowanie podpisów, edycja wiadomości HTML, czytanie wiadomości ze skrzynki odbiorczej.
Budowa złożonych aplikacji
Prawidłowe planowanie aplikacji: przechowywanie danych i kodu, czy wykorzystać zewnętrzne bazy danych, planowanie interfejsu użytkownika (formularze), wielodostęp, praca w sieci Internet). Jak budować złożone rozwiązania bazujące na tabelach przestawnych, tworzenie oraz modyfikowanie tabel przestawnych w kodzie, użycie VBA do synchronizacji tabel przestawnych. Zabezpieczenie kodu przed dostępem, jak tworzyć aplikacje działające na różnych wersjach Microsoft Office (2003-2013). Wczesne i późne wiązanie w odwołaniach do zewnętrznych obiektów. Jak wymusić na użytkownikach włączenie makr, odczyt loginu użytkownika aplikacji. Tworzenie niestandardowych kart oraz poleceń na kartach uruchamiających własne procedury. Wykorzystanie biblioteki dodatku Solver do tworzenia rozwiązań opartych o optymalizacje. Zapisywanie danych związanych z aplikacją w rejestrze Windows. Budowa aplikacji rozbitych na dane oraz kod, uwzględnienie przyszłej wymiany (aktualizacji) kodu zawartego w aplikacji. Wykorzystanie pliku Excela jako bazy danych (przechowywanie danych na arkuszach), użycie nazw do dostępu do danych, limity ilości i złożoności danych.
Klasy obiektów
Budowa własnych klas obiektów z wykorzystaniem modułów Class Module. Kiedy klasy obiektów są bardziej przydatne i czytelne od "zwykłych" procedur oraz funkcji. Budowa klas dla potrzeb dostępu do określonych danych (np. klasa "klient", "dokument" itp.). Wykorzystanie klas obiektów do tricków związanych z wbudowanymi obiektami Excela, np. budowa jednej procedury zdarzeniowej obsługującej kilkadziesiąt list rozwijalnych na formularzu. Definiowanie metod obiektów za pomocą procedur, definiowanie właściwości obiektów za pomocą zmiennych oraz operatorów Let i Get. Przygotowanie i dystrybucja własnych klas obiektów w różnych plikach (projektach).