Objektorientierung mit VBA

Slides:



Advertisements
Ähnliche Präsentationen
Erstellen von Raumgrundrissen mit Vorlagen
Advertisements

Blue J.
Programmieren im Großen von Markus Schmidt und Benno Kröger.
Die Schulkonsole für Lehrerinnen und Lehrer
Objektorientierte Programmierung
Einführung in Klassen, Objekte und in UML
Dynamische Seiten mit Dreamweaver Zugriff auf (mysql) Datenbank mit PHP.
IrfanView starten Doppelklick Es erscheint dieses Fenster.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung versteht Java Programmcode versteht Java Programmcode Für die Entwicklung eigener Software.
Objektorientierte Programmierung mit Java unter BlueJ
Programmierung am WG mit Java oder VBA?
Objektorientierung mit VBA
Scratch Der Einstieg in das Programmieren. Scatch: Entwicklungsumgebung Prof. Dr. Haftendorn, Leuphana Universität Lüneburg,
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
Ein Beispiel in Java.
Polymorphie (Vielgestaltigkeit)
Polymorphie (Vielgestaltigkeit)
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Allgemein Batchdatei/en erstellen Was ist das?? Wie geht das??
Internet facts 2008-II Graphiken zu dem Berichtsband AGOF e.V. September 2008.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Methoden sind mit einem Namen versehene Programmabschnitte besitzen Rückgabetyp, Namen, Parameterliste.
Excel Kurs Teil I Excel starten, Verknüpfungen auf dem Desktop anlegen. F. Bäumer.
Packages Vortrag : Cornelia Hardt 23. November 1999.
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Klassen und Objekte
Heute: Scherenzange zeichnen
Objektorientierte Modellierung
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
20:00.
Delphi II - OOP IFB Fortbildung
Druckerinstallation HP1050C
Modelle und Modellierung
Entwurfs- und Implementationsdiagramme
HORIZONT 1 XINFO ® Das IT - Informationssystem Java Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
NEU! 1 2. Wo kommt diese Art von Rezeptor im Körper vor?
Analyse von Ablaufdiagrammen
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Ganzheitliches Projekt-, Ressourcen- und Qualitätsmanagement 1 Reports und AddOns Auf den folgenden Seiten wird Ihnen die Funktionsweise der Reports und.
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Java Programmierung.
Vortrag: Visual Basic Neuerungen Autor : Dennis Hoyer
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
Variablen in Programmiersprachen
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Programmiervorkurs WS 2014 Referenzdatentypen
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Monatsbericht Ausgleichsenergiemarkt Gas – November
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Objektorientierte (OO) Programmierung
November 18 Informatik Kurse
Juli 19 Informatik Kurse
 Präsentation transkript:

Objektorientierung mit VBA Visual Basic for Applications Klassen und Objekte Übungen Christoph Oberweis

Agenda VBA Daten in VBA Modelle und Modellbildung Klassen – Objekte - Beziehungen Übungen COM Quellen C.O.

Agenda VBA Daten in VBA Modelle und Modellbildung Klassen – Objekte - Beziehungen Übungen COM Quellen VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen C.O.

VBA … … ist eine Programmiersprache … ist in die Office-Anwendungen integriert … erlaubt das Arbeiten mit Objekten … kann als Schnittstelle zu Office, aber auch zu VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Windows - Ressourcen insgesamt benutzt werden C.O.

Wo versteckt sich VBA? Wechsel mit <Alt> <F11> von der Office Anwendung in das VBA – Programmiersystem VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Zurück zur Office Anwendung: Hier klicken C.O.

Zunächst ein „warming up“ VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Einfache Ausgabe - Anweisung 1. Schritt: Excel/Word aufrufen 2. Schritt: Mit <Alt> <F11> in die Programmierumgebung wechseln 3. Schritt: „Diese Arbeitsmappe“ anklicken (Das wird später anders gemacht!) 4. Schritt: Falls jetzt schon Programmcode erscheint, diesen löschen 5. Schritt: Obiges Programm eingeben 6. Schritt: Mit <F5> Programm starten 7. Schritt: Programm testen, gegebenenfalls korrigieren 8. Schritt: Mit <Alt><F11> zurück zu Excel C.O.

Weitere Möglichkeiten VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Auch hier kann das Programm gestartet werden: ein Klick genügt! … und wenn es mal abgestürzt ist: hier klicken. Und wer es ganz genau wissen will: F8 ist der Einzelschritt-Mode zum Debugen. C.O.

Deklaration von Variablen VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Deklaration ist zwingend (kann abgestellt werden) Deklaration zweier Variablen mit Typenangabe Option Explicit Dim net As Double Dim x As Integer C.O.

Modelle und Modellierung Wirkliche Welt: Autohaus VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Modell: Idealisierte Darstellung (Abbildung) der realen Welt zur Veranschaulichung bestimmter Sachverhalte/Eigenschaften/Prozesse, Vereinfachung der Realität C.O.

Diesen da ... C.O. VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen C.O.

... picken wir uns mal raus… VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen C.O.

…und untersuchen ihn genauer! VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen C.O.

„Objektive“ Tatsachen! Kfz Hersteller= „Daihatsu“ Typ= „Terios“ ……… Hubraum= 1495 Farbe= „metallic silber“ ……. VKPreis= 17800,00 VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen „konkretes“ individuelles Fahrzeug „abstrakte“ Darstellung Beachte: Zu jedem Fahrzeug gehört eine Herstellerangabe eine Typenangabe usw. (Gemeinsamkeit); diese Attribute haben je nach Kfz einen unterschiedlichen Inhalt. C.O.

Produktion am Fließband VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Schablone, nach diesem „Bauplan“ können (fast) unendlich viele Fahrzeuge gebaut werden. Allerdings benötigt dieser Plan exakte Angaben zu den Details des Fahrzeugs. C.O.

Produktion am Fließband Kfz Hersteller: Text Typ: Text ……… Hubraum: Ganzzahl Farbe: Text ……. VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Schablone, nach diesem „Bauplan“ können (fast) unendlich viele Fahrzeuge gebaut werden. Allerdings benötigt dieser Plan exakte Angaben zu den Details des Fahrzeugs. So könnte der Bauplan formuliert sein: Attribute: Variablen mit Typenangabe als Informationen zu den Eigenschaften des Fahrzeugs (Vorstufe einer Klasse). C.O.

Klasse: Fertig! Klassenname Attribute Methoden Notation in UML (Unified Modeling Language) Kfz Hersteller: Text Typ: Text ……… Hubraum: Ganzzahl Farbe: Text ……. VKPreis: Währung Erfassung() Ändern() Löschen() Drucken() …………… Klassenname Attribute Methoden VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen C.O.

Von der Klasse … „Abstrakter“ Bauplan Kfz Hersteller: Text Typ: Text ……… Hubraum: Ganzzahl Farbe: Text ……. VKPreis: Währung Erfassung() Ändern() Löschen() Drucken() …………… VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen C.O.

... zum Objekt „Konkretes“ individuelles Fahrzeug :Kfz Hersteller= „Daihatsu“ Typ= „Terios“ ……… Hubraum= 1495 Farbe= „metallic silber“ ……. VKPreis= 17800,00 Erfassung() Ändern() Löschen() Drucken() …………… VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen C.O.

Die erste eigene Klasse Die Klasse besitzt drei Attribute und zwei Methoden. Damit lässt sich in der Realität selbstverständlich kein Fahrzeug hinreichend modellieren – es geht jetzt zunächst darum, die Klasse und ein dazu passendes Testprogramm in VBA zu implementieren. VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen C.O.

Klasse erfassen Hier den Menüpunkt „Klassenmodul“ anwählen … C.O. VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Hier den Menüpunkt „Klassenmodul“ anwählen … C.O.

Klasse erfassen … und die neue Klasse anlegen. C.O. VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen … und die neue Klasse anlegen. C.O.

Klasse erfassen Doppelklick auf „Klasse“... ... und Name ändern (Kfz)! VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Doppelklick auf „Klasse“... ... und Name ändern (Kfz)! C.O.

Klasse erfassen C.O. VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen C.O.

Klasse: Erläuterungen VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen C.O.

Klasse: Erläuterungen Private Hersteller Das Attribut „Hersteller“ darf nur von „Verarbei-tungsschritten“ der eigenen Klasse manipuliert wer-den (Kapselung). Das Gegenstück wäre „Public“, wenn die Attribute allerdings dann „von überall“ verändert werden können, ist das Einrichten einer Klasse eigentlich unsinnig. Sub erfassen(her, ty, hub) Sub kennzeichnet eine Methode der Klasse, in den Klammern stehen Platzhalter (Variablen) für die Daten, die von außen (vom Testprogramm) dem Objekt übermittelt werden. Die Verarbeitungs-schritte stehen zwischen Sub und End Sub. Hersteller = her Das Attribut „Hersteller“ erhält den Wert, der in Her von außen an das Attribut übermittelt wurde. Function ErmittleTyp()  Der im Objekt gespeicherte Wert für den Autotyp soll an das Testprogramm zurückgeliefert werden. VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen C.O.

Das Testprogramm C.O. VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen C.O.

Das Testprogramm Noch besser: Fachkonzept unter „Module“ codieren. VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Noch besser: Fachkonzept unter „Module“ codieren. C.O.

Erläuterungen C.O. VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen C.O.

Erläuterungen Das Testprogramm setzt hier die Werte der Attribute. In der Praxis wäre die Quelle dieser Daten z. B. eine Datenbank. Ein Programm, welches die Daten zu-nächst setzt und dann unmittelbar danach wieder abfragt, ist aus der Sicht der Praxis „unsinnig“. Es wäre eher so, dass ein Programm für die Erfassung der Daten zuständig ist und ein anders für die Weiter-verarbeitung. Das wird auch später so vorgeführt – jetzt geht es zunächst einmal nur darum, den „Mecha-nismus“ zu begreifen. Daher wurde auch die Bezeich-nung „Testprogramm“ gewählt! VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen C.O.

Programmtest Es klappt: C.O. VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Es klappt: C.O.

Beziehungen zwischen Klassen/Objekten Überlegung: Wie ist nun der Zusammenhang zwischen dem Testprogramm und dem Objekt „Kfz“ (Fachkonzept) zu modellieren? VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen C.O.

Beziehungen zwischen Klassen/Objekten Überlegung: Wie ist nun der Zusammenhang zwischen dem Testprogramm und dem Objekt „Kfz“ (Fachkonzept) zu modellieren? VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Assoziation zwischen Klassen C.O.

Beziehungen zwischen Klassen/Objekten Überlegung: Wie ist nun der Zusammenhang zwischen dem Testprogramm und dem Objekt „Kfz“ (Fachkonzept) zu modellieren? VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Assoziation zwischen Klassen Eine Methode der Klasse nutzen: Auto1.erfassen a, b, c C.O.

Jetzt wird gerechnet! Aufgabe: VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Aufgabe: Für den Autoteilezubehörshop ist eine ähnliche Klasse wie bei dem vorherigen Beispiel festzulegen. Die Verkaufspreisberechnung funktioniert folgendermaßen: Der VK Preis (netto) ergibt sich aus dem Einkaufspreis multipliziert mit dem Kalkulationsfaktor (Prozentzahl). C.O.

Tipp Die Klasse: C.O. VBA Daten Modelle und Modellierung Option Explicit Private Artikelnummer As Integer Private Bezeichnung As String Private EK_Preis As Double Private K_Faktor As Double Sub erfassen(EkP As Double) Artikelnummer = 1234 Bezeichnung = "Sitzschoner" K_Faktor = 50 EK_Preis = EkP End Sub Function Ausgeben_Bezeichnung() Ausgeben_Bezeichnung = Bezeichnung End Function Function Ermitteln_VK_Preis() Ermitteln_VK_Preis = (EK_Preis * K_Faktor / 100) + EK_Preis VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen C.O.

Testprogramm C.O. VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Sub Testprg() Dim Autoz As Kfz_Zubehoer Dim bez As String Dim EP As Double Dim VkP As Double Set Autoz = New Kfz_Zubehoer EP = InputBox("Bitte Einkaufspreis eingeben: ") Autoz.erfassen EP MsgBox (Autoz.Ausgeben_Bezeichnung) MsgBox (Autoz.Ermitteln_VK_Preis) Set Auto1 = Nothing End Sub C.O.

Und weiter geht‘s! Aufgabe: VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Aufgabe: Welche weiteren Methoden finden Sie für dieses Beispiel? Erweitern Sie die Klasse kfz und codieren Sie Ihre Lösung(en)! C.O.

Component Object Model Das Component Object Model (COM) erlaubt (u. a.) den objektorientierten Zugriff auf Computerdienste mit VBS/VBA. COM ist damit eine spezielle API. In diesem Zusammenhang ist unter Komponente eine compilierte Programmdatei zu verstehen, welche i. d. R. mehrere Klassen enthält. Damit werden die entsprechenden Objekte (z. B. unter VBS, aber auch unter C++, C#, Java oder VB) erzeugt, mit denen z. B. der Zugriff auf Funktionen des Betriebssystems Windows realisiert werden kann. Die folgenden Beispiele orientieren sich an D. JOHLEN (s. Quellen). VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen C.O.

Das Dateisystem als Komponente FileSystemObject Drives getFile(pfad):File moveFile(quellPfad, zielPfad) …………….. File Name DatelastModified parentFolder moveFile(zielPfad) …………….. VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Stark vereinfachte Klassenmodelle der COM – Komponente, die für das Dateisystem zuständig ist. Beispiel eines Anwendungsfalls: Eine Datei soll von einem Verzeichnis in ein anderes verschoben werden. Konkret: Die Datei „test1.txt“ im Verzeichnis c:\vz1\ soll in das Verzeichnis c:\vz2\ verschoben werden. C.O. C.O.

Das Dateisystem als Komponente Z1Z2Z3Z4 Set FSObjekt = CreateObject("Scripting.FileSystemObject") Set Datei = FSObjekt.getFile("h:\SE\test1.txt") Datei.move "h:\SX\" MsgBox "Dateien umkopiert!„ VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Z1: Erzeugung des Objektes „FSObjekt“ mit der Methode CreateObject. Als Schnittstellenparameter muss die Klasse „FileSystemObject“ aus dem Paket „Scripting“ angegeben werden. Z2: Erzeugen des Objektes „Datei“ durch das Senden der Nachricht „getFile“. Z3: Senden der Nachricht „move“ (inkl. Parameter) an das Objekt „Datei“. Sowohl für das Modellieren als auch für die Erklärung eines Programms ist diese verbale Ausdrucksweise „ungeschickt“. UML kennt neben den Klassendiagrammen noch viele weitere Modellierungstechniken. Eine Möglichkeite wird nun vorgestellt. C.O. C.O.

Sequenzdiagramm Erklärung: Beispiel: Zubehörshop des Autohauses C.O. VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Das Sequenzdiagramm dient (u. a.) der Darstellung, wie Objekte Nachrichten austauschen. Es werden zeitliche Aspekt berücksichtigt. C.O. C.O. C.O.

Unser Beispiel Sequenzdiagramm für den Anwendungsfall „Datei verschieben“ (new) FSObjekt: FileSystemObject VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Durch getFile wurde ein neues Objekt erzeugt! getFile(…) Datei: File move(…) Folge: Datei ist verschoben! C.O. C.O. C.O.

Wer hat wann zugegriffen? Nochmals zurück zur Klasse „File“: File Name DatelastModified parentFolder moveFile(zielPfad) …………….. VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Aufgabe: Auf das Attribut DatelastModified kann direkt (ohne Methode) zugegriffen werden. Erstellen Sie bitte ein Programm, welches das Datum der letzten Änderung einer beliebigen Datei in einem beliebigen Verzeichnis ermittelt und ausgibt (das entsprechende Sequenzdiagramm bitte nicht vergessen). C.O. C.O. C.O.

Lösung der Aufgabe VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen Set FSObjekt = CreateObject("Scripting.FileSystemObject") Set Ordner = FSObjekt.getFolder("c:\SE\") Set Dateien = Ordner.files Set Datei = Dateien.item("test1.txt") MsgBox "Datum des letzten Zugriffs: " & Datei.dateLastModified C.O. C.O.

Quellen HELD, B. (2000): EXCEL-VBA-Programmierung. - München, Mark und Technik-Verlag JANKA, A. (2005): VBA mit Word. – Bonn, Galileo Computing – Verlag JOHLEN, D. (2004): Anwendungsentwicklung.- Holland + Josenhans-Verlag MARTIN, R. (1999): VBA mit Office 2000 lernen. – Bonn, Addison-Wesley – Verlag VBA Daten Modelle und Modellierung Klassen-Objekte- Beziehungen Übungen COM Quellen C.O.