Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Objektorientierung mit VBA Visual Basic for Applications Klassen und Objekte Übungen Christoph Oberweis 2007."—  Präsentation transkript:

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

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

3 3 Agenda C.O. VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA und Objekte Daten- u. Grundstrukturen in VBA Modelle und Modellbildung Klassen – Objekte - Beziehungen Übungen COM Quellen

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

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

6 6 Zunächst ein warming up C.O. 1. Schritt: Excel aufrufen 2. Schritt: Mit 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 Programm starten 7. Schritt: Programm testen, gegebenenfalls korrigieren 8. Schritt: Mit zurück zu Excel 1. Schritt: Excel aufrufen 2. Schritt: Mit 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 Programm starten 7. Schritt: Programm testen, gegebenenfalls korrigieren 8. Schritt: Mit zurück zu Excel Einfache Ausgabe - Anweisung VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

7 7 Weitere Möglichkeiten C.O. 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. VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

8 8 Objekte: Intuitiver Zugang in Word C.O. Hier klicken! VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

9 9 Überall Objekte! C.O. VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

10 10 Application ist der Boss! C.O. Drücke F1, und das Objekt verrät seine Geheimnisse VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

11 11 Was das Objekt so hat und kann C.O. VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

12 12 Eigenschaften und Methoden C.O. Eigenschaft, hier:Benutzername Ausgabe - Anweisung Punkt - Operator: Trennt den Objekt - Namen von der Eigenschaft oder der Methode Methode, jetzt wird gedruckt (Drucker bitte einschalten) VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

13 13 Leichter Zugriff! C.O. Objekt_bezeichner.Methode_1 Objekt_bezeichner.Eigenschaft_1 Objekt_bezeichner.Methode_1 Objekt_bezeichner.Eigenschaft_1 Beachte die Ähnlichkeit hinsichtlich des Zugriff auf Record – Komponenten! VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

14 14 EXCEL - Objekte C.O. Mit Hilfe von VBA-Programmen können EXCEL –Tabellen- blätter, Arbeitsmappen, einzelne Zellen oder Zellbereiche verändert werden. Wichtige Objekte: Application (Das gesamte EXCEL-Fenster) Workbook (eine Arbeitsmappe) Worksheet (das einzelne Arbeitsblatt) Range (Zellenbereich oder einzelne Zelle) Wichtige Objekteigenschaften: Caption (Beschriftung der Objekte) Name Selection (das markierte Objekt) Value (Wert/Inhalt, z. B. einer Zelle) VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

15 15 Die Quadratur mit VBA C.O. Wichtige Objektmethoden: Select (Zelle auswählen) Clear (löschen) Cells (Zugriff auf spezielle Zellen, Cells erwartet eine Zeilen- und Spaltenindex) Close (Applications - Objekt oder Arbeitsmappe schließen) Option Explicit Sub quadate() Dim x As Integer Dim i As Integer x = 1 i = -5 Workbooks("Mappe1").Worksheets("Tabelle1").Select Do While i < 6 Cells(x, 1).Select ActiveCell.Value = i Cells(x, 2).Select ActiveCell.Value = i * i x = x + 1 i = i + 1 Loop End Sub Option Explicit Sub quadate() Dim x As Integer Dim i As Integer x = 1 i = -5 Workbooks("Mappe1").Worksheets("Tabelle1").Select Do While i < 6 Cells(x, 1).Select ActiveCell.Value = i Cells(x, 2).Select ActiveCell.Value = i * i x = x + 1 i = i + 1 Loop End Sub Schleifenprogrammierung, Füllen einer EXCEL-Tabelle: quadrate x := 1, i := -5 Tabelle1 auswählen Solange i < 6 Zelle auswählen i in Zelle übertragen Nachbarzelle auswählen i * i in Zelle übertragen Spaltenzähler (=x) und i erhöhen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

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

17 17 C.O. Arrays Sub selsort() Dim Z(10) As Integer Dim I As Integer Dim K As Integer Dim H As Integer ………… Z(I) = InputBox("Wert: ", I) ………… Sub selsort() Dim Z(10) As Integer Dim I As Integer Dim K As Integer Dim H As Integer ………… Z(I) = InputBox("Wert: ", I) ………… VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

18 18 C.O. Verbund - Variablen Option Explicit Type record_1 Anum As Integer Abez As String Apreis As Double End Type Sub datensatz() Dim Artikelsatz As record_1 Artikelsatz.Anum = InputBox("Artikelnummer: ") Option Explicit Type record_1 Anum As Integer Abez As String Apreis As Double End Type Sub datensatz() Dim Artikelsatz As record_1 Artikelsatz.Anum = InputBox("Artikelnummer: ") VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

19 19 Files C.O. Open "Artikeldatei" For Output As #1 …… Write #1, Artikeltabelle(I).A_nummer, Artikeltabelle(I).A_bezeichnung, Artikeltabelle(I).A_preis Open "Artikeldatei" For Output As #1 …… Write #1, Artikeltabelle(I).A_nummer, Artikeltabelle(I).A_bezeichnung, Artikeltabelle(I).A_preis Open "Artikeldatei" For Input As #1 …… Input #1, Artikeltabelle(I).A_nummer, Artikeltabelle(I).A_bezeichnung, Artikeltabelle(I).A_preis Open "Artikeldatei" For Input As #1 …… Input #1, Artikeltabelle(I).A_nummer, Artikeltabelle(I).A_bezeichnung, Artikeltabelle(I).A_preis VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

20 20 Abfragen C.O. Option Explicit Sub rabatt_1() Dim net As Double Dim brut As Double Const rab = 3 Const mwst = 19 net = InputBox("Nettobetrag: ") If net > Then net = net - (net * rab / 100) brut = ((net * mwst) / 100) + net MsgBox ("Rechnungsbetrag BRUTTO " & brut) End Sub Option Explicit Sub rabatt_1() Dim net As Double Dim brut As Double Const rab = 3 Const mwst = 19 net = InputBox("Nettobetrag: ") If net > Then net = net - (net * rab / 100) brut = ((net * mwst) / 100) + net MsgBox ("Rechnungsbetrag BRUTTO " & brut) End Sub VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

21 21 If … Else C.O. If jahre > 5 Then rueck = beitrag_j * 0.09 Else rueck = beitrag_j * 0.04 End If If jahre > 5 Then rueck = beitrag_j * 0.09 Else rueck = beitrag_j * 0.04 End If Hinweis: Zeilengliederung muss so sein! Ansonsten bei Fortsetzungszeile: In der vorhergehenden Zeile das Zeichen ´_´! VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

22 22 Schleifen C.O. Option Explicit Sub durchschnitt_1() Dim tage As Integer Dim anzahl As Double Dim summe As Double Dim schnitt Dim z As Integer tage = InputBox("Anzahl Tage: ") z = 1 summe = 0 Do While z <= tage anzahl = InputBox("Anzahl Besucher: ", anzahl) summe = anzahl + summe z = z + 1 Loop schnitt = summe / tage MsgBox ("Durchschnitt: " & schnitt) End Sub Option Explicit Sub durchschnitt_1() Dim tage As Integer Dim anzahl As Double Dim summe As Double Dim schnitt Dim z As Integer tage = InputBox("Anzahl Tage: ") z = 1 summe = 0 Do While z <= tage anzahl = InputBox("Anzahl Besucher: ", anzahl) summe = anzahl + summe z = z + 1 Loop schnitt = summe / tage MsgBox ("Durchschnitt: " & schnitt) End Sub VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

23 23 For - Schleife C.O. For i = 1 To j z = (k * p) / 100 t = r - z k = k - t aus = aus & Format(i, "00 ") & Format(z, " ") _ & Format(t, " ") & Format(k, " ") & vbCrLf Next i For i = 1 To j z = (k * p) / 100 t = r - z k = k - t aus = aus & Format(i, "00 ") & Format(z, " ") _ & Format(t, " ") & Format(k, " ") & vbCrLf Next i Formatierung numerischer Werte (vgl. Prg.: Tilgungsplan) VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

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

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

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

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

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

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

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

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

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

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

34 34 Die erste eigene Klasse C.O. 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 & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

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

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

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

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

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

40 40 C.O. 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. Klasse: Erläuterungen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

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

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

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

44 44 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 & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

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

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

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

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

49 49 Jetzt wird gerechnet! C.O. 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). VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

50 50 Tipp C.O. Die Klasse: VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen 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 End Function

51 51 Testprogramm C.O. VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen 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

52 52 C.O. VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen Die letzte Klassendefinition zeigt, dass es offensichtlich zwei Sorten von Methoden gibt. Die eine Sorte ist letztlich nur dafür da, den Objekteigen - schaften Werte zuzuweisen oder diese Werte abzurufen: Sub erfassen(EkP As Double) ……………… Function Ausgeben_Bezeichnung() ……………… Sub erfassen(EkP As Double) ……………… Function Ausgeben_Bezeichnung() ……………… Die zweite Sorte führt kompliziertere Dinge durch, hier die Berechnung eines neuen Wertes aus zwei Eigenschaften/Attributen der Klasse: Function Ermitteln_VK_Preis() Ermitteln_VK_Preis = (EK_Preis * K_Faktor / 100) + EK_Preis End Function Function Ermitteln_VK_Preis() Ermitteln_VK_Preis = (EK_Preis * K_Faktor / 100) + EK_Preis End Function Eigenschaftsprozeduren

53 53 Eigenschaftsprozeduren C.O. VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen Es erscheint sicher sinnvoll, diesen Unterschied in der Implementierung zu Ausdruck zu bringen. Dies erfolgt mit den Eigenschaftsprozeduren Property Let(Wert setzen) Property Get(Wert auslesen). Hierbei handelt es sich um eine Alternative zu den bisherigen Möglichkeiten, Attributwerte zu setzen oder zu lesen. Angesprochen ist also nur die erste Sorte Methoden, für Function Ermitteln_VK_Preis() bleibt alles so, wie bisher.

54 54 Eigenschaftsprozeduren C.O. VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen Option Explicit Private mBezeichnung As String Private mEK_Preis As Double Private mK_Faktor As Double Public Property Let Artikelbezeichnung(Bez As String) mBezeichnung = Bez End Property Public Property Let Einkaufspreis(EkP As Double) mEK_Preis = EkP End Property Public Property Let K_Faktor(KF As Double) mK_Faktor = KF End Property Public Property Get Artikelbezeichnung() As String Artikelbezeichnung = mBezeichnung End Property Function Ermitteln_VK_Preis() Ermitteln_VK_Preis = (mEK_Preis * mK_Faktor / 100)+EK_Preis End Function Option Explicit Private mBezeichnung As String Private mEK_Preis As Double Private mK_Faktor As Double Public Property Let Artikelbezeichnung(Bez As String) mBezeichnung = Bez End Property Public Property Let Einkaufspreis(EkP As Double) mEK_Preis = EkP End Property Public Property Let K_Faktor(KF As Double) mK_Faktor = KF End Property Public Property Get Artikelbezeichnung() As String Artikelbezeichnung = mBezeichnung End Property Function Ermitteln_VK_Preis() Ermitteln_VK_Preis = (mEK_Preis * mK_Faktor / 100)+EK_Preis End Function

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

56 56 Rabattberechnung C.O. VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

57 57 Tilgungsplan C.O. Es ist ein Programm zu erstellen, welchen den Tilgungsplan eines Kredits ausgibt (Annuitätentilgung). Nach der Eingabe der Kredithöhe, des Zinssatzes, der jährlichen Rückzahlung und der Laufzeit soll eine Tabelle mit folgenden Angaben ausgegeben werden: JahrZins (in Euro)Tilgung Restkredit Wird eine Laufzeit < 1 oder größer 15 eingegeben, wird standardmäßig eine Laufzeit von 15 Jahren angenommen. VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

58 58 C.O. VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen Exkurs: API Das Component Object Model (COM) muss im Zusammenhang mit dem Begriff API gesehen werden. API (Abk. für "application programming interface") ist eine Schnittstelle für die Programmierung von Anwendungsprogrammen. Beispiele: - funktionsorientierte (z. B. Dynamic Link Library, DLL) - dateiorientierte (z. B. Gerätedateien unter UNIX) - objektorientierte (z. B. ActiveX-DLLs) - protokollorientierte (z. B. FTP) u.a. Viele Programmierer verwenden die allgemeine Abkürzung API zur Bezeichnung der speziellen Windows - API (auch WinAPI) => Verwirrung!

59 59 C.O. VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen Windows - API Systembibliotheken von Windows Bereitstellung von Windows – Funktionen in VBA Bietet damit eine beträchtliche Erweiterung des Sprache Auf Bibliotheken verteilt Die wichtigsten Bibliotheken sind: Kernal32.dll (z. B. Funktion im I/O – Bereich, Dateisystem …) User32.dll (z. B.: Mauszeiger, Menüs …) GDI32.dll (z. B.: Grafik, Farbe …)

60 60 C.O. VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen Windows - API Aufgabe: Es ist der Ordner des Windows-Systemverzeichnisses zu ermitteln. Hilfe: Aufruf der API – Funktion GetWindowsDirectory Hinweis: Zur Kontrolle wurde das C-Laufwerk umbenannt. Aufgabe: Es ist der Ordner des Windows-Systemverzeichnisses zu ermitteln. Hilfe: Aufruf der API – Funktion GetWindowsDirectory Hinweis: Zur Kontrolle wurde das C-Laufwerk umbenannt.

61 61 C.O. VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen Lösung Public Declare Function GetWindowsDirectory _ Lib "kernel32" Alias "GetWindowsDirectoryA" ( _ ByVal lpBuffer As String, _ ByVal nSize As Long) As Long Option Explicit Public Function GetWinDir() As String Dim strWinOrdner As String * 255 Dim lngLaenge As Long 'API-Funktion aufrufen: lngLaenge = GetWindowsDirectory(strWinOrdner, _ Len(strWinOrdner)) GetWinDir = Left(strWinOrdner, lngLaenge) End Function Sub Test_GetWinDir() MsgBox "Windows-Ordner: " & GetWinDir End Sub Public Declare Function GetWindowsDirectory _ Lib "kernel32" Alias "GetWindowsDirectoryA" ( _ ByVal lpBuffer As String, _ ByVal nSize As Long) As Long Option Explicit Public Function GetWinDir() As String Dim strWinOrdner As String * 255 Dim lngLaenge As Long 'API-Funktion aufrufen: lngLaenge = GetWindowsDirectory(strWinOrdner, _ Len(strWinOrdner)) GetWinDir = Left(strWinOrdner, lngLaenge) End Function Sub Test_GetWinDir() MsgBox "Windows-Ordner: " & GetWinDir End Sub Quellcode: Als Modul anlegen! Wie zu erkennen ist, muss hinsichtlich der Parameter sehr systemnah gearbeitet werden. …As string * 255: Zeichenkette mit fester Länge, Grund: Diese API ist in C programmiert. Testprozedur

62 62 C.O. VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen Test Weitere Beispiele und Erklärungen, s. A. JANKA (Quellen)

63 63 C.O. VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen 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).

64 64 C.O. Das Dateisystem als Komponente FileSystemObject Drives getFile(pfad):File moveFile(quellPfad, zielPfad) …………….. Stark vereinfachte Klassenmodelle der COM – Komponente, die für das Dateisystem zuständig ist. File Name DatelastModified parentFolder moveFile(zielPfad) …………….. 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. VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

65 65 C.O. Das Dateisystem als Komponente Set FSObjekt = CreateObject("Scripting.FileSystemObject") Set Datei = FSObjekt.getFile("h:\SE\test1.txt") Datei.move "h:\SX\" MsgBox "Dateien umkopiert! Set FSObjekt = CreateObject("Scripting.FileSystemObject") Set Datei = FSObjekt.getFile("h:\SE\test1.txt") Datei.move "h:\SX\" MsgBox "Dateien umkopiert! Z1 Z2 Z3 Z4 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. 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. VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

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

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

68 68 C.O. Wer hat wann zugegriffen? C.O. File Name DatelastModified parentFolder moveFile(zielPfad) …………….. Nochmals zurück zur Klasse File: 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). VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

69 69 C.O. 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 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 Lösung der Aufgabe VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen

70 70 C.O. Ein Programm erstellt eine HTML – Seite, in der alle Dateien eines Projekt-Verzeichnisses und das Datum des letzten Zugriffs angezeigt werden. Aufgabe: Beschreiben Sie bitte die notwendigen Lösungsschritte verbal. Tipp: Benötigt wird ein Dateisystem, ein Ordner mit Container, eine HTML – Datei, eine Schleife zum Lesen und Schreiben in die Datei… Ein Programm erstellt eine HTML – Seite, in der alle Dateien eines Projekt-Verzeichnisses und das Datum des letzten Zugriffs angezeigt werden. Aufgabe: Beschreiben Sie bitte die notwendigen Lösungsschritte verbal. Tipp: Benötigt wird ein Dateisystem, ein Ordner mit Container, eine HTML – Datei, eine Schleife zum Lesen und Schreiben in die Datei… VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen Ein Tool zur Projektverwaltung

71 71 C.O. VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen Lösung: Verbal 1.Dateisystemobjekt erzeugen 2.Auf den Ordner zugreifen 3.Auf den Dateicontainer zugreifen 4.HTML - Datei anlegen 5.Eröffnungstags in HTML – Datei schreiben 6.Relevante Dateien im Dateicontainer suchen und schreiben (Schleife!) 7.Endtags schreiben 8.Datei schließen 1.Dateisystemobjekt erzeugen 2.Auf den Ordner zugreifen 3.Auf den Dateicontainer zugreifen 4.HTML - Datei anlegen 5.Eröffnungstags in HTML – Datei schreiben 6.Relevante Dateien im Dateicontainer suchen und schreiben (Schleife!) 7.Endtags schreiben 8.Datei schließen

72 72 C.O. Sub htme() 'Dateisystemobjekt erzeugen. Set projektFSO = CreateObject("Scripting.FileSystemObject") 'Auf den Quellordner zugreifen. Set projektOrdner = projektFSO.getFolder("c:\Projekt_VBA") 'Auf den Dateicontainer des Quellordners zugreifen. Set projektDateien = projektOrdner.Files 'Neue index.html Datei anlegen Set projektHTML = projektFSO.CreateTextFile("c:\Projekt_VBAindex.html") 'HTML Eröffnungstags projektHTML.writeLine " " projektHTML.writeLine " Projektordner " & projektOrdner.Name & " " projektHTML.writeLine " " For Each datei In projektDateien projektHTML.writeLine " " & datei.Name & ", zuletzt geändert: " & datei.datelastmodified & " " projektHTML.writeLine " " Next ' HTML Endtags projektHTML.writeLine " " projektHTML.Close MsgBox "HTML File erzeugt." End Sub Sub htme() 'Dateisystemobjekt erzeugen. Set projektFSO = CreateObject("Scripting.FileSystemObject") 'Auf den Quellordner zugreifen. Set projektOrdner = projektFSO.getFolder("c:\Projekt_VBA") 'Auf den Dateicontainer des Quellordners zugreifen. Set projektDateien = projektOrdner.Files 'Neue index.html Datei anlegen Set projektHTML = projektFSO.CreateTextFile("c:\Projekt_VBAindex.html") 'HTML Eröffnungstags projektHTML.writeLine " " projektHTML.writeLine " Projektordner " & projektOrdner.Name & " " projektHTML.writeLine " " For Each datei In projektDateien projektHTML.writeLine " " & datei.Name & ", zuletzt geändert: " & datei.datelastmodified & " " projektHTML.writeLine " " Next ' HTML Endtags projektHTML.writeLine " " projektHTML.Close MsgBox "HTML File erzeugt." End Sub VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen Lösung: VBA - Code

73 73 Quellen C.O. 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 & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen VBA & Objekte Daten&Grund- strukturen Modelle und Modellierung Klassen- Objekte- Beziehungen Übungen COM Quellen


Herunterladen ppt "Objektorientierung mit VBA Visual Basic for Applications Klassen und Objekte Übungen Christoph Oberweis 2007."

Ähnliche Präsentationen


Google-Anzeigen