Kurs VBA – cz. 21 – Formularze – Wstęp

Cały kurs VBA zaczyna się generalnym wstępem i instrukcją napisania pierwszego programu, bez wchodzenia w szczegóły. Rozdział o formularzach też tak rozpocznę. Poniżej trochę teorii i ogólników, w następnej części napiszemy pierwszy program używający formularzy. Da nam to generalne pojęcie o temacie.

Do tej pory użytkownik przekazywał programowi informacje głównie przez wypełnianie komórek Excela. W ten sposób trudno jest programiście zapanować nad tym gdzie,co i kiedy użytkownik wpisuje.

Formularze są przeznaczone do sformalizowanej komunikacji z użytkownikiem. Sami decydujemy kiedy taki formularz ma się pokazać. Planujemy ile jakich pól będzie się na nim znajdować, czyli co użytkownik  będzie mógł wpisać. Formularze umożliwiają też strukturyzowanie informacji dla użytkownika w formę o wiele bardziej zaawansowaną niż zwykły arkusz kalkulacyjny z wykresami i tabelkami.

Formularze mogą być tak proste jak kilka pól do wypełniania liczbami i jednym przyciskiem jak i zaawansowane kokpity łączące pola zwykłe z wykresami, drzewami, zakładkami itp.

Formularze są bardzo łatwe do opanowania dla czytelnika, który ma za sobą poprzednie części kursu. Nauka polega tylko na poznaniu bardzo przyjaznego graficznego edytora oraz kilku nowych obiektów. Sam formularz jest po prostu kolejnym obiektem posiadającym swoje metody, zdarzenia i atrybuty. Poszczególne elementy formularza też są obiektami. Zawartość pola jest po prostu jego atrybutem a przyciśnięcie przycisku wywołuje odpowiednie zdarzenie związane z tym przyciskiem.

Poniżej kilka przykładów formularzy, jak widać program napisany przy pomocy formularzy przestaje przypominać Excela a zbliża się do profesjonalnych aplikacji systemu Windows.
Przykład zaawansowanego formularza z wieloma elemetami
Formularz z efektem przezroczystości
Formularz z polem do zaznaczania zakresu komórek

Spis treści Pierwszy program

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *