Kurs VBA – Klasy – Tworzenie i inicjalizacja

W tej części kursu zobaczymy jak tworzyć i używać klasy. Nie będę się wdawał w szczegóły, które poznacie w kolejnych postach. Chciałbym abyście byli przygotowani do (technicznie) swobodnego tworzenia i używania klas, aby stosować elementy przedstawione później.

Stworzymy klasę, które będzie przechowywać oraz wypisywać do arkusza dane pracownika.

 

Definicja klasy

Każda klasa mieści się w osobnym module w pliku Excel. Moduł klasy tworzymy podobnie jak zwykłe moduły z kodem. Klikam prawym przyciskiem na dowolnej pozycji w oknie projektu i wybieram Insert / Class Module.

Jak widać dodał się nowy katalog z nowym modułem. Cały kod zawarty w tym nowym module będzie dotyczył jednej klasy.

Kiedy moduł jest zaznaczony w drzewie projektu, możemy zmienić nazwę klasy w oknie Properties.

W oknie kodu umieśćmy poniższe instrukcje:

Klasa zawiera trzy atrybuty.

  • Imię
  • Nazwisko
  • Wiek
Zawiera też dwie specjalne metody do zapisu i odczytu wieku oraz najważniejszą metodę do wypisywania danych we wskazanym miejscu arkusza. Jak widać atrybuty definiuje się jak każdą inną zmienną do tej pory. Definicja metody wygląda jak definicja zwykłej procedury.

Inicjalizacja obiektu

Oczywiście powyższa definicja to dopiero schemat, który nic nie robi. Atrybuty nie mają zarezerwowanego miejsca w pamięci. Musimy więc stworzyć zwykły moduł z kodem i wkleić tam poniższy przykład:

Co widzimy powyżej? Po pierwsze definicja zmiennej referencyjnej typu naszej nowej klasy:

Zanim zaczniemy używać taką zmienną musimy ją zainicjować, zarezerwować miejsce w pamięci.

Od teraz gr_Employee wskazuje na nowy obiekt typu Person.

Jeżeli będziemy wpisywać powyższy kod ręcznie to widać, że możemy już korzystać z usług auto uzupełniania.

Po uruchomieniu procedury Test w zaznaczonym arkuszu pojawią się poniższe wartości:

Użycie w kolekcji

Worksheets jest kolekcją obiektów typu Worksheet. Możemy też stworzyć kolekcję naszych obiektów typu Person.

Podsumowując zawarliśmy w jednym odrębnej całości pewne cechy oraz działania modelowanego bytu.

W kolejnych częściach kursu przedstawię różne aspekty używania atrybutów i klas.

Wstęp i teoria Spis treści Metody

Comments 2

    1. Post
      Author

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *