Example: marketing

J. Abulawi - fzt.haw-hamburg.de

Einf hrung in die Excel-Makroprogrammierung J. Abulawi HAW / Fb F+F / J. Abulawi SS 2005 Excel-Makros 1/38. 1. Themen bersicht 1. Einf hrung Was ist VBA? 2. Der VBA-Editor 3. Einfache Anweisungen 4. Variablen und Datentypen 5. Kontrollstrukturen 6. Objektorientierung 7. HAW / Fb F+F / J. Abulawi SS 2005 Excel-Makros 2/38. Diese Unterlagen sind nur f r Studierende der HAW zum internen Gebrauch gedacht. Die in diesen Unterlagen enthaltenen Informationen stammen zum Teil aus folgenden Quellen: Microsoft Visual Basic-Hilfe ~agnschum/ -> Elektronische Fassung des Titels: VBA 5 in 21 Tagen, ISBN: 3-8272-2008-4.

3 HAW / Fb F+F / J. Abulawi SS 2005 Excel-Makros 3/38 1. Einführung VBA = Visual Basic for Applications • Spezielle Programmiersprache für …

Tags:

  Hamburg, Abulawi fzt, Abulawi, Haw hamburg

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of J. Abulawi - fzt.haw-hamburg.de

1 Einf hrung in die Excel-Makroprogrammierung J. Abulawi HAW / Fb F+F / J. Abulawi SS 2005 Excel-Makros 1/38. 1. Themen bersicht 1. Einf hrung Was ist VBA? 2. Der VBA-Editor 3. Einfache Anweisungen 4. Variablen und Datentypen 5. Kontrollstrukturen 6. Objektorientierung 7. HAW / Fb F+F / J. Abulawi SS 2005 Excel-Makros 2/38. Diese Unterlagen sind nur f r Studierende der HAW zum internen Gebrauch gedacht. Die in diesen Unterlagen enthaltenen Informationen stammen zum Teil aus folgenden Quellen: Microsoft Visual Basic-Hilfe ~agnschum/ -> Elektronische Fassung des Titels: VBA 5 in 21 Tagen, ISBN: 3-8272-2008-4.

2 Nicht hier verwendete, aber trotzdem interessante Links: -> hier gibt es viele VBA-Programme als Download -> hier gibt es verschiedene Tipps und Tricks zu VBA/Excel 2. 1. Einf hrung VBA = Visual Basic for Applications Spezielle Programmiersprache f r Host-Anwendungen wie MS Office, CATIA . Befehlsatz basiert auf Visual Basic for Windows Erzeugbare Code-Strukturen: Sub-Routinen Funktionen HAW / Fb F+F / J. Abulawi SS 2005 Excel-Makros 3/38. Historie: BASIC = Beginner s All Purpose Symbolic Instruction Code Entwicklung in den fr hen 60ern einfach zu erlernende Programmiersprache sehr begrenzter Befehlssatz Visual Basic f r Windows Weiterentwicklung (1992) als voll funktionale Programmiersparche Parallelentwicklung: Makrorekorder ohne Editierm glichkeit f r Officeprogramme VBA Kombination von Makrorekorder und VB-Editor/-Befehlen nur lauff hig mit entsprechender Host-Anwendung 3.

3 1. Einf hrung VBA-Makroprogrammierung Wozu? Automatisierung von Routinevorg ngen f r den Eigenbedarf Programmierung von Anwendungen f r Dritte Wie? Aufzeichnung von Vorg ngen in der Host-Anwendung Manuelle, strukturierte Programmierung Kombination von Aufzeichnung und manueller Programmierung HAW / Fb F+F / J. Abulawi SS 2005 Excel-Makros 4/38. VBA = objekt- und ereignisorientierte Interpretersprache Kein Compiler Hauptprogramm = Host-Anwendung Modulare Programmierung Variablendeklaration optional Schnelle Programmerstellung Einfaches Austesten bei Fehlern: Programmabbruch und Sprung in den Editor m glich 4.

4 1. Einf hrung VBA Eigenschaften objekt- und ereignisorientiert Interpretersprache (ohne Compiler). Hauptprogramm = Host-Anwendung Programmierung in Modulen ein Befehl pro Zeile Zeilenende = Befehlsende bei Fehlern: Programmabbruch und Sprung in den Editor m glich HAW / Fb F+F / J. Abulawi SS 2005 Excel-Makros 5/38. Interpreter: = Simultandolmetscher Das VBA-Programm wird nicht erst von einem Compiler in eine f r das Betriebssystem verst ndliche Maschinensprache bersetzt und dann ausgef hrt. Stattdessen wird es Anweisung f r Anweisung vom Interpreter in die Maschinensprache bersetzt und gleichzeitig ausgef hrt Modulare Programmierung: Bei der VBA-Makroprogrammierung entstehen keine eigenst ndigen, ausf hrbaren Programme.

5 Die erzeugten Makros und Funktionen werden in Office in Modulen abgelegt, die Bestandteil des aktiven Dokuments sind. 5. 1. Einf hrung Speicherung aller Makros in Modulen: HAW / Fb F+F / J. Abulawi SS 2005 Excel-Makros 6/38. Funktionen, Prozeduren und Makros werden als Teil des Projektes in sogenannten Modulen gespeichert. Bevor man mit dem Programmieren beginnt, muss zun chst ein neues Modul erzeugt werden. (Option: Einf gen Modul in der Visual Basic Entwicklungsumgebung). Beim Aufzeichnen eines Makros oder beim Erstellen ber die Makroverwaltung wird automatisch ein Modul eingef gt, wenn noch keins vorhanden ist.

6 6. 1. Einf hrung Grunds tzlicher Makroaufbau Sub-Prozedur: Anfang Sub Makro4(). Kommentar ' Schlie t Mappe 1. Anweisung Workbooks(1).Close Ende End Sub Funktion: Function Flaeche(A,B). Argumente Rechteckfl che berechnen Flaeche = A * B. End Function R ckgabewert = Funktionsname HAW / Fb F+F / J. Abulawi SS 2005 Excel-Makros 7/38. 7. 2. Der VBA-Editor Wie wird ein Makro erzeugt? Manuelle Programmierung Makro-Rekorder HAW / Fb F+F / J. Abulawi SS 2005 Excel-Makros 8/38. Makroaufzeichnung: nur Objekte der Host-Applikation (Excel, Word oder CATIA ). Protokollierung aller Objekteigenschaften (auch nicht ge nderte).

7 Keine: Benutzerdialoge Kontrollstrukturen (Fallunterscheidung, Schleifen etc.). VB-Specials (Fehlerhandling ). in Excel: Umschaltung Bez ge m glich nur Prozeduren Sub .. End Sub . Manuell erstelltes Makro: Funktionen und Prozeduren erstellbar echtes Computerprogramm auch nur lauff hig mit Host-Applikation volle VBA-Funktionalit t Microsoft Skript Editor: HTML-Editor (nicht unser Thema ). 8. 2. Der VBA-Editor Ein neues Makro erstellen .. HAW / Fb F+F / J. Abulawi SS 2005 Excel-Makros 9/38. 9. 2. Der VBA-Editor Vorhandene Makros bearbeiten Makroverwaltung ffnen mit Extras -> Makro -> VBA Editor HAW / Fb F+F / J.

8 Abulawi SS 2005 Excel-Makros 10/38. 10. 2. Der VBA-Editor Aufruf des Editors Editor-Komponenten Code-Fenster Projekt-Explorer Eigenschaftsfenster Programmierhilfen Objektkatalog Debugger Hilfefunktion HAW / Fb F+F / J. Abulawi SS 2005 Excel-Makros 11/38. 11. 3. Einfache Anweisungen Operatoren Arithmetisch: + - * / ^ \ mod Addition von Zeichenketten: + &. Vergleichsoperatoren: = < > <= >= <>. Pr fung, ob zwei Objekte auf dasselbe Objekt verweisen: is Vergleich von Zeichenmustern: like Logische Operatoren: and or not xor imp eqv HAW / Fb F+F / J. Abulawi SS 2005 Excel-Makros 12/38. Operatoren: Arithmetisch ^ * / + - \ (abgerundete Ganzzahldivision).

9 Mod (Rest einer Ganzzahldivision). Zeichenketten + & ("15" & 3 ergibt "153"). Vergleichsoperatoren = < > <= >= <>. is (Wenn zwei Objekte auf dasselbe Objekt verweisen, ist das Ergebnis True; andernfalls ist Ergebnis False.). like zum Vergleich von Zeichenmuster: "abc" like "a*". Logische Operatoren and or not xor imp (Implikation) eqv ( quivalenz). 12. 3. Einfache Anweisungen Zuweisungen Wert bergabe =. Beispiele: Wert = *2. Text = Anfang & Ende . Parameter bergabe in Prozeduren :=. Beispiele: Formula1 := $B$1 . FileName := ". Zuweisung eines Objektverweises Set Beispiele: Set Auswahl = Selection Set Dok1 = ActiveDocument HAW / Fb F+F / J.

10 Abulawi SS 2005 Excel-Makros 13/38. 13. 3. Einfache Anweisungen Mitteilungen an den Benutzer Msgbox Mitteilung,Typ,Titel Beispiel 1: MsgBox "Dies ist neu", vbInformation, "Mitteilungsmakro". HAW / Fb F+F / J. Abulawi SS 2005 Excel-Makros 14/38. Das Argument Typ hat die folgenden Einstellungen: Konstante Wert Beschreibung vbOKOnly 0 Nur die Schaltfl che OK. VbOKCancel 1 Schaltfl chen OK und Abbrechen. VbAbortRetryIgnore 2 Schaltfl chen Abbruch, Wiederholen, Ignorieren. VbYesNoCancel 3 Schaltfl chen Ja, Nein und Abbrechen. VbYesNo 4 Schaltfl chen Ja und Nein. VbRetryCancel 5 Schaltfl chen Wiederholen und Abbrechen.