Stronę tą wyświetlono już: 9481 razy
W VBA tworząc moduł klasy tworzy się deklarację samej klasy. Moduł klasy dodaje się poprzez wybranie z menu kontekstowego Insert→Class Module tak jak pokazane zostało to na poniższym rysunku.
Nazwa modułu nie może zawierać spacji, nazw specjalnych lub operatorów używanych w VBA. Nazwę w moim przypadku zmieniłem na Car.
Pola klasy
Pola klasy mogą być publiczne public, prywatne private lub statyczne static. Oto przykład deklaracji samych pól klasy:
Wszystkie pola prywatne są niedostępne spoza klasy, aby to zmienić konieczne jest użycie modyfikatora dostępu Public.
Konstruktor i destruktor klasy
Konstruktor i destruktor w VBA nie może przyjmować żadnych parametrów. Oto przykład deklaracji konstruktora klasy:
Konstruktor klasy jest uruchamiany automatycznie, gdy obiekt klasy jest tworzony za pomocą Set i new.
Destruktor w VBA wygląda następująco:
Właściwości klasy
Za pomocą właściwości można kontrolować dostęp do pól klasy, albowiem oto słowo kluczowe Get umożliwia utworzenie makra, które będzie zwracało wartość danego pola klasy lub będzie zwracało wartości wszystkich pól jako tekst:
Można też udostępnić możliwość ustawiania danego pola za pomocą słowa kluczowego Let tworzy się bowiem metodę, dzięki której można kontrolować wprowadzane dane:
Gdy utworzony zostanie obiekt klasy Car (tak bowiem nazwa mojego modułu klasy brzmi), wtedy dostęp do pola klasy vcolor będzie wyglądał następująco:
Tworzenie obiektu klasy
W zwykłym module po utworzeniu klasy Car w module klasy można stworzyć takie oto makro, pokazujące działanie kodu klasy:
Metody klasy
Wewnątrz klasy oczywiście można tworzyć prywatne, publiczne i statyczne metody w postaci makr lub funkcji.