Klassenmodule sind eine besondere Art von Modulen. Zunächst unterscheiden sie sich nicht weiter von den einfachen Modulen. Sie werden durch die gesonderte Auswahl erstellt. Anschließend sehen Sie ein gleiches Codefenster wie bei den Modulen auch.
Den Code, den Sie in dem Klassenmodul einsetzen können, unterscheidet sich auch nicht von dem übrigen Code. Es kommen nur einige neue Prozeduren hinzu.
Sinn eines Klassenmodules ist es, bestimmte immer wiederkehrende Funktionen für den Zugriff von außen über eigene Eigenschaften bzw. Methoden abzukapseln. Somit ist der Zugriff nur über die von Ihnen angebotenen Funktionen möglich. Sie müssen bei einem Einsatz Ihres Klassenmodules eine gesonderte Einbindung in Ihren Code vornehmen. Sie benötigen eine Objektvariable und weisen dieser Ihr Klassenmodul zu. Nun können Sie mit diesem Objekt in Ihrem Code arbeiten und alle Funktionen entsprechend ausführen.
Das Klassenmodul kann dabei immer wieder im Code benutzt werden, da praktisch durch die Zuweisung des Objektes immer wieder nur eine Art Kopie erstellt wird.
Wenn Sie über die Symbolleiste ein neues Klassenmodul hinzugefügt haben sollten Sie diese unbedingt sofort umbenennen. Denn dieser Name wird im gesamten Projekt durch Zuweisungen wieder benutzt. Da ist es wichtig, dass Sie es auch leicht wieder finden.
Wenn die die Eigenschaft für Instancing 1 - Private wählen, dann ist das Klassenmodul in Ihrem Projekt überall einsetzbar. Bei der zweiten Option kann öffentlich in Ihrem Projekt keine Objektzuweisung vorgenommen werden.
Im Klassenmodul können Sie die Eigenschaften der Klasse über Property Get, Property Let und Property Set setzen. Die Methoden werden über die bekannten Prozeduren udn Funktionen erzeugt, die mit Public deklariert werden müssen. Die Ereignisse können mit WithEvents deklariert werden.
In den Beispielen können Sie nachlesen, wie man die Eigenschaften und Methoden in Klassenmodulen einsetzt und in das eigene Projekt einbezieht.
Um Ihnen das Arbeiten mit Klassenmodulen zu erleichtern, bietet Word bereits ein Klassenmodul an, das automatisch erstellt wird. Im VBA Editor sehen Sie im Projekt-Explorer, wenn Sie ein Dokument geöffnet haben ode rein leeres Dokument erstellt wurde, das Projekt z.B. Dokument1. Darunter finden Sie den Eintrag ThisDocument. Das ist das Klassenmodul für Ihr Dokument mit einigen vorgefertigten Funktionen.
Sie haben nun bereits im Codefenster ein erstes Objekt zur Auswahl:
Nach dem Sie das Document ausgewählt haben, stehen Ihnen im rechten Kombinationsfeld bereits einige Ereignisse zur Verfügung:
Bei der Auswahl wird bereits die Prozedur Document_New angelegt. Diser Code wird dann immer angelegt, wenn ein neues Dokument erstellt wird. Sinnvoller für einfache Dokumente ist hier das Document_Open, denn dieser Codeteil wird immer ausgeführt, wenn das gespeicherte Dokument geöffnet wird. So können Sie auch vor dem Schließen des Dokumentes Code ausführen lassen. Das Document_New kann nur bei Dokumentvorlagen sinnvoll sein.
An dieser Stell sei aber darauf hingewiesen, das es zusätzlich in Word noch die automatischen Makros gibt. Auch damit kann bei einem Startprozess wie Öffnen oder Neu Code ausgeführt werden.