VBA Unterschied Modul/Klassenmodul

Kann mir bitte jemand den Unterschied zwischen einem Modul und einem Klassenmodul erklären? Wann setzt man dass eine und wann das andere ein?
Gruß
Wilhelm

Hallo Wilhelm,

ein Klassenmodul setzt Du ein wenn Du eine Klasse erstellst. Wenn Du allgemeine Funktionen implementieren willst, dann erledigst Du das in einem normalen Modul

Gruß Patrick

Danke Patrick,
herzlichen Dank für die schnelle Antwort, aber ich kann immer noch nicht erkennen, wann ich ein Klassenmodul einsetzen sollte. Kannst Du das vielleicht noch etwas genauer erklären; mir sagt der Begriff des Klassenoduls bzw. der Klasse noch nichts. Meldest Du Dich noch einmal?
Gruß Wilhelm

mir sagt der
Begriff des Klassenoduls bzw. der Klasse
noch nichts.

Ist ein Begriff der aus der objektorientierten Programmierung kommt.

Verwandte Daten und Operationen werden dabei zu einer Klasse zusammengefasst. Von dieser Klasse instanzierst du dann Objekte.

Ein Beispiel dafür wäre z. B. eine Klasse Vektor die die Werte eines Vektors und die dazugehörigen Operationen enthält.

Grüße, Robert

Hallo Robert!
Das Klassenodul ist also eine Zusammenfassung von zusammengehörenden Modulen pp.

Vielen Dank für Deine schnelle Interpre- tation.
Gruß
Wihelm

Salü Wilhelm

„Wenn zwei das gleich tun, ist es oft nicht dasselbe…“. Eine Klasse ist einerseits von
der Art her mit einem Modul zu vergleichen.

Jedoch gehört es zu einer ganz anderen Welt.
Klassen sind Bestandteil der „Objekt Orientierten“ Programmierung, welche als
Konzept (Analyse / Design / Implementation) verstanden und konsequent umgesetzt werden muss.
VB/VBA seit wandeln sich von Version zu Version mehr zu OO - Sprachen.

Eine didaktisch gut aufbereitete Einstiegslektüre sind die Bücher von Heide und Helmut Balzers (Spektrum Verlag).

Grüsse Peter

Guten Morgen Peter,
herzlichen Dank für Deine Erklärung und den Hinweis auf die Literatur. Meinst Du, die von Dir empfohlenen Bücher sind für einen VBA-Anfänger hilfreich? „Einstiegslektüre“ läßt das zwar vermuten, aber Ihr Profis setzt gelegentlich doch zuviel Grundwissen voraus.

Frage: Kennst Du Literatur, die das Arbeiten mit der Symbolleiste von VBA , insbesondere dem Objekt-Katalog etwas ausführlicher beschreibt?
Grüße
Wilhelm

Salü Wilhelm

  1. Bücher + Einstiegslektüre
    Ob die Bücher als Einstiegslektüre geeignet sind, musst Du schlussendlich selber beurteilen. Ich empfehle Dir aus meiner Erfahrung die Vorgehensweise, zuerst Dich damit auseinanerzusetzen, was OO ist und danach wie es mit VB/VBA umzusetzen ist, bzw. zu verstehen lernen was VB/VBA als OO definieren. Es ist auch lanfristig für Dich ein Gewinn, weil OO analog Mathematik eine
    universelle Sprache ist und Dir ermöglich mit anderen Entwickelern, auch aus anderen Sprachen zu kommunizieren. Ev. ist es besser als allerstes OO Buch, eines für Manager zu lesen. Da wird in einer einfachen Sprache die Basisbegriffe „Object“, Klasse", etc. erläutert.

  2. Symbolleisten + Objekt-Katalog
    Wenn Du den Objekt-Katalog benutzt, bist
    Du auf einem sehr guten Weg zu VB und OO.
    Innerhalb von VBA spielt die Version (5.0 / 6.0 ) und die Applikation eine Rolle.
    Für Excel-VBA (VBA 5.0 / 6.0 also Office 97 / 2000) finde ich das O’Reilly Book (E) „Writing Wxcel Macros“ sehr gut. Für die selbe VBA Version gibt es für Fortgeschrittene ein Buch von Michael KOffler (VBA-Programmierung mit Excel 97 und ein neues für Excel 2000 ist bereits erschienen).

Uuuuuuuuf zu lang geworden - sorry -Peter

Kann mir bitte jemand den Unterschied
zwischen einem Modul und einem
Klassenmodul erklären?

Willkommen im Club!

Ich bin im Rahmen meiner Ausbildung gerade damit konfrontiert, ein Programm in VB zu erstellen. Das ganze soll objektorientiert und dementsprechend unter Verwendung von Klassenmodulen geschehen.
Keine leichte Aufgabe, wenn man vorher noch nie etwas von solchen Begriffen gehört hat.
Ich arbeite mich gerade durch einen Stapel Unterlagen zur „Einführung in die objektorientierte Anwendungsentwicklung“ und ich glaube das ist nicht meine Welt.

In Klassenmodulen legt man, soviel ich bisher mitbekommen habe, die Attribute, Eigenschaften und Methoden von Objekten fest, die dieser Klasse zugeteilt werden.
z.B. ein Objekt der Klasse „Auto“ hätte die Attriute Typ, Farbe, Fahrgestellnummer etc. und Methoden wie „fahren“ oder ähnliches.

Durch „Instanzierung“ (Dim Objekt As Klasse) erzeugt man eine Kopie der Klasse und teilt einem Objekt die dort definierten Attribute etc. zu, ohne jedoch bestimmte Werte zuzuweisen, was eine mehrfache Verwendung ermöglicht.

Viel Erfolg

Schiffman