Moduły klas VBA

Moduły klas Excel VBA

Kiedy używamy VBA, używamy właściwości i atrybutów zdefiniowanych w VBA, ale co się dzieje, gdy chcemy stworzyć własne właściwości i metody i atrybuty, to znaczy, gdy używamy modułu klasy w VBA, abyśmy mogli go zdefiniować moduł klasy posiada własny zestaw kodów zdefiniowanych dla funkcji, właściwości i obiektów przez użytkownika.

Do tworzenia obiektu służą moduły klas. Kiedy mówimy o obiektach, mimo że jest to zmienna, są to małe programy. Pisząc kod najczęściej piszemy w modułach. Podstawowe moduły są tam, gdzie piszemy nasze kody do wykonania pracy. Używamy również formularza użytkownika do tworzenia graficznych interfejsów użytkownika.

Ale jeśli spojrzysz na powyższy obrazek, zobaczysz „Moduł klasy”. Wiem na pewno, że nie tknąłeś tego, dopóki nie przeczytałeś tego postu. Pewnie się zastanawiasz, czym jest ten moduł klasy VBA, kiedy całą pracę można wykonać za pomocą naszego zwykłego modułu.

Co to jest moduł zajęć?

Moduły klas umożliwiają użytkownikowi tworzenie własnych obiektów, tak jak mamy wbudowane obiekty w zwykłych modułach, takich jak „Arkusze robocze”, „Skoroszyty”, „Zakres” i tak dalej.

W ten sposób za pomocą modułu klasy możemy tworzyć niestandardowe obiekty.

Klasa ma bezpośredni związek z obiektami. Na przykład, masz diagram maszyny do zbudowania maszyny, ale pamiętaj, że nie jest to jeszcze maszyna i używając tego schematu maszyny możemy zbudować wiele takich maszyn.

Na przykład, jeśli chcesz wyszczególnić różne marki maszyn, aby wymienić cechy różnych modeli.

W maszynie mamy markę, numer seryjny, moc maszyny, kolor maszyny, ilość silników w niej uczestniczących, rodzaj paliwa itp.… W języku technicznym nazywane są to „właściwościami”.

Jeśli chodzi o właściwości maszyny, możemy startować, wyłączać, zwiększać prędkość silnika, zatrzymywać, itp. To się nazywa „Metody”.

Przykład

Możesz pobrać ten szablon klasy VBA tutaj - szablon klasy VBA

Zacznijmy się toczyć, ponieważ czytanie części teoretycznej jest zawsze nudne. Aby wstawić moduł klasy, przejdź do opcji wstawiania w edytorze Visual Basic.

Teraz możemy zobaczyć moduł klasy, taki jak poniżej.

Wygląda to podobnie do tego, który mamy powyżej jako zwykły moduł. Zmień nazwę modułu klasy w oknie właściwości. Aby wyświetlić okno właściwości, naciśnij klawisz F4 .

Teraz zadeklaruj zmienną jako ciąg.

Bez tworzenia podprocedury w vba musimy zadeklarować zmienną i tym razem używając słowa „Public”, a nie „Dim”.

Teraz możemy uzyskać dostęp do tej zmiennej w dowolnym module i module klasy.

Teraz przejdź do zwykłego modułu i nazwij zmienną.

Po zadeklarowaniu zmiennej musimy przypisać typ danych w VBA, zamiast przypisywać typ danych możemy po prostu podać nazwę modułu klasy czyli CM

Teraz używając zmiennej „k” możemy uzyskać dostęp do zmiennej publicznej, którą zdefiniowaliśmy w module klasy, czyli „My Value”.

Jak widać na powyższym obrazku, jest to pokazanie opcji nazwy zmiennej z modułu klasy w celu przypisania jej wartości.

Teraz pokaż wartość przypisanej zmiennej w oknie komunikatu VBA.

Kod:

 Sub Class_Example () Dim k As New CM k.MyValue = "Hello" MsgBox k.MyValue End Sub 

Uruchom ten kod za pomocą klawisza F5 lub ręcznie, aby wyświetlić wynik.

Moduł klasy a obiekty

Na początkowym etapie modułu klasy wszyscy są myleni z tym, co jest klasą, a czym przedmiotem.

Aby to zrozumieć, przypomnij sobie nasz wcześniejszy przykład diagramu maszyny. Pierwszą rzeczą, jakiej potrzebujemy do wyprodukowania maszyny, jest to, że najpierw musimy zaprojektować maszynę, a następnie można powielić kilka kopii z tym projektem.

Teraz odnieś to do naszego modułu klasowego.

  • Tutaj moduł klasy to projekt. I Obiekt jest kopia stworzona przez Design.
  • Jeszcze jedną interesującą rzeczą jest to, że musimy użyć słowa „nowy”, aby utworzyć obiekt z modułu klasy.

Poniżej znajduje się przykład tego samego.

Jeszcze jedno, gdy używamy obiektów wbudowanych, takich jak arkusze robocze, skoroszyty i obiekty zakresu, nie używamy słowa „nowy”

Aby rozpocząć pracę od modułu zajęć, powinieneś wiedzieć o tych podstawowych rzeczach. W nadchodzących artykułach zobaczymy przykłady z następnego poziomu.

Wydaje się to trudne do zrozumienia, im więcej czasu spędzisz z modułem klasowym, przyzwyczaisz się do niego.