VBA f r Excel .


29 views
Uploaded on:
Category: Fashion / Beauty
Description
VBA für Excel. 22.02.2010. VBA für Excel. eine Einführung in das Programmieren mit „Visual Basic for Applications“ speziell (aber nicht nur) für Excel unter Windows. Andreas Rozek HyMeSys Software & Consulting Brunnenstraße 30/2 71032 Böblingen Telefon: (07031) 436 5784
Transcripts
Slide 1

VBA für Excel 22.02.2010 VBA für Excel eine Einführung in das Programmieren mit „Visual Basic for Applications" speziell (aber nicht nur) für Excel unter Windows Andreas Rozek HyMeSys Software & Consulting Brunnenstraße 30/2 71032 Böblingen Telefon: (07031) 436 5784 Email: A.Rozek@gmx.de URL: www.Rozek.de Andreas Rozek HyMeSys Software & Consulting

Slide 2

VBA für Excel 22.02.2010 Organisatorisches • Theorie: von 9 00 Uhr bis 12 00 Uhr • Praxis: von 13 00 Uhr bis 17 00 Uhr • Anwesenheitsliste → Teilnahmebestätigung • begleitende Literatur Christian Friedrich „Einstieg in VBA mit Excel" Galileo Computing ISBN 3-89842-647-5 ca. 24 90 € Andreas Rozek HyMeSys Software & Consulting

Slide 3

VBA für Excel 22.02.2010 Zum Einstieg... Andreas Rozek HyMeSys Software & Consulting

Slide 4

VBA für Excel 22.02.2010 Zum Einstieg... Andreas Rozek HyMeSys Software & Consulting

Slide 5

VBA für Excel 22.02.2010 Überblick über cave Kurs Montag Grundlagen (Syntax & Semantik von VBA) Dienstag Das Excel-Objektmodell Mittwoch Ereignis-gesteuerte Programmierung Formular-und ActiveX-Steuerelemente Donnerstag Eingabeformulare, Programmentwicklung (Anmeldeformular, Zahlen-Memory) Freitag weiterführende Themen (Email, Web, usw.) Verwendung externer Objekte, Sudoku Andreas Rozek HyMeSys Software & Consulting

Slide 6

VBA für Excel 22.02.2010 Lernziele Idealerweise sollten Sie am Ende dieses (Crash-)Kurses • wissen, daß man pass on Funktionalität von Excel mit VBA erheblich erweitern kann; • einen ungefähren Eindruck von sanctum Möglichkeiten und Grenzen von VBA haben; • in der Lage sein, eigene VBA-Makros zu schreiben und auszuführen; • eigene Benutzeroberflächen (UserForms) erstellen und programmieren können. Andreas Rozek HyMeSys Software & Consulting

Slide 7

VBA für Excel 22.02.2010 Kursmaterialien • Microsoft Excel: 60-Tage Testversion http://trial.trymicrosoftoffice.com/trialgermany/default.aspx • Excel VBA Language Reference http://www.microsoft.com/technet/scriptcenter/topcis/office/vba.mspx • Windows Script 5.6 Documentation http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=01592C48-207D-4BE1-8A76-1C4099D7BBB9&displaylang=en • OpenOffice.org Version 3.x http://de.openoffice.org/item/info.html Andreas Rozek HyMeSys Software & Consulting

Slide 8

VBA für Excel 22.02.2010 VBA für Excel Teil I: Grundlagen Andreas Rozek HyMeSys Software & Consulting

Slide 9

VBA für Excel 22.02.2010 Ein paar Worte zu Excel • Tabellen-artige Darstellung von Zahlen und Texten(!) • Verarbeitung der Tabelleninhalte mithilfe von Formeln • Visualisierung der Tabelleninhalte mithilfe von Diagrammen Grenzen • komplexe Berechnungen, Textverarbeitung • Zugriff auf Dateien, Datenbanken, das WWW (Data Mining) • „Steuerung des Benutzers" durch Benutzeroberflächen Andreas Rozek HyMeSys Software & Consulting

Slide 10

VBA für Excel 22.02.2010 Grenzen sprengen durch Makro-Programmierung Macros Interpreter DLLs, ActiveX Application System • vorhandene Funktionalität durch (meist einfache) „Makros" erweitern (sofern bite the dust Anwendung kicks the bucket zuläßt) • durch Integration externer Komponenten (z.B. DLLs oder ActiveX Controls) zusätzliche Funktionalitäten möglich • das Gros der Funktionalitäten kommt weiterhin von der ursprgl. „Application" (Wirtsprogramm) Andreas Rozek HyMeSys Software & Consulting

Slide 11

VBA für Excel 22.02.2010 Was ist „VisualBasic for Applications (VBA)"? • VisualBasic „Classic" > VBA > VBScript • VisualBasic • für Anwendungen, Steuerelemente, Bibliotheken • Übersetzung in Maschinensprache (bis Version 6) • VBScript • interpretierte Scriptsprache, z.B. für WSH, HTTP-Server, ... • keine echten Datentypen, ActiveX-Steuerung • VisualBasic for Applications • interpretierte „Automatisierungssprache" in Wirtsprogramm • Zugriff auf Objektmodell des Wirtsprogrammes Andreas Rozek HyMeSys Software & Consulting

Slide 12

VBA für Excel 22.02.2010 Wo und wie wird VBA (in Excel) eingesetzt? • exploratives Prototyping (Anforderungen erkennen) • experimentelles Prototyping (Lösungsmöglichkeiten suchen) • „Einmal"- Program (Konvertierung von Datenbeständen, Analysen, Studien) • kleinere (häufig Firmen-interne) Projekte • kleinere Anwendungen Treibender Faktor ist stets: • Zeitersparnis (es ist quick schon alles vorhanden) Andreas Rozek HyMeSys Software & Consulting

Slide 13

VBA für Excel 22.02.2010 Einmal lernen – mehrmals nutzen • (Visual)Basic-Syntax ist stets gleich • pass on Objekt-Modelle ähneln sich, pass on Konzepte ohnehin • Ereignis-orientierte Programmierung ist omnipräsent VBA ist direkt einsetzbar in • Microsoft\'s Office-Anwendungen unter Windows • z.T. Microsoft\'s Office-Anwendungen unter MacOS X • manchen Anwendungen von Drittanbietern • OpenOffice 3.0 (evtl. auch unter MacOS X und Linux) Andreas Rozek HyMeSys Software & Consulting

Slide 14

VBA für Excel 22.02.2010 VBA für Excel als VBA-Entwicklungsumgebung (im Vergleich zu Java) Andreas Rozek HyMeSys Software & Consulting

Slide 15

VBA für Excel 22.02.2010 Excel als Entwicklungsumgebung • Entwicklerwerkzeuge einblenden • Sicherheitseinstellungen anpassen • Makro-Rekorder (wird hier nicht behandelt) • Persönliche Makroarbeitsmappe c:\Dokumente und Einstellungen\ benutzer \Anwendungsdaten\ Microsoft\Excel\XLSTART\Personal.xlsb Andreas Rozek HyMeSys Software & Consulting

Slide 16

VBA für Excel 22.02.2010 Java-Übersetzungseinheiten • Klassen (eine Klasse expert Datei) • Pakete (bundles, als Verzeichnis oder JAR-Archiv) • z.B. unter Eclipse: Projekte und zusätzliche Dateien VBA (in Excel, Projekt-Explorer) • „Projekte" (Arbeitsmappen, persönliche Makroarbeitsmappe) • „Excel-Objekte" (Tabellenblätter u.a.) *.cls • Formulare (UserForms) *.frm • Standardmodule *.bas • Klassenmodule *.cls Andreas Rozek HyMeSys Software & Consulting

Slide 17

VBA für Excel 22.02.2010 Excel als Entwicklungsumgebung • VBA-Editor • Eigenschaftenfenster • Direktbereich • Editor-Einstellungen • Kontext-touchy Hilfe (F1), IntelliSense • Objektkatalog (F2) • Modul-Ebene, Prozedur-Ebene, Code-Ebene Andreas Rozek HyMeSys Software & Consulting

Slide 18

VBA für Excel 22.02.2010 Excel als Entwicklungsumgebung (Fortsetzung) • Ausführen einer Prozedur (F5) • Haltepunkt setzen/löschen (F9) • Einzelschritt (F8), Prozedurschritt (Shift-F8) • Variablenwerte als Tool-Tip • Lokalfenster: Variablen-Sichtung und - Verwaltung • Überwachungsfenster: Überwachen von Ausdrücken • Debug.print expression Andreas Rozek HyMeSys Software & Consulting

Slide 19

VBA für Excel 22.02.2010 VBA für Excel Syntax und Semantik Andreas Rozek HyMeSys Software & Consulting

Slide 20

VBA für Excel 22.02.2010 Grundlegendes zur Syntax • eine Anweisung professional Zeile (Zeilenende = Anweisungsende) • : als Trenner zwischen zwei Anweisungen • _ als (Zeilen-)Fortsetzungszeichen • Groß-/Kleinschreibung ist nicht signifikant • Code-Editor paßt Schreibweise automatisch a • " als Kommentarzeichen (für Zeilenkommentare) • Code-Editor (vgl. Overshadow) • beherrscht „IntelliSense", „Syntax Colorization" • gibt häufig bereits cave Rahmen für eine Prozedur vor Andreas Rozek HyMeSys Software & Consulting

Slide 21

VBA für Excel 22.02.2010 Namen („Bezeichner") • 1...255 Zeichen • erstes Zeichen muß ein Buchstabe sein • danach sind Buchstaben, Ziffern und Unterstriche erlaubt • Schlüsselworte sind zu meiden • Groß-/Kleinschreibung wird nicht unterschieden • ISO 8859-1 ist zulässig (Unicode?) Andreas Rozek HyMeSys Software & Consulting

Slide 22

VBA für Excel 22.02.2010 Datentypen • Boolean 2 Bytes true oder false • Byte 1 Byte 0...255 • Integer 2 Bytes -32768...+32767 • Long 4 Bytes -2147483648...+2147483647 • Single 4 Bytes ±3,402823e38...±1,401298e-45 • Double 8 Bytes ±1,79769313486231e308... ±4,94065645841247e-324 • Currency 8 Bytes -922337203685477,5808... +922337203685477,5807 Andreas Rozek HyMeSys Software & Consulting

Slide 23

VBA für Excel 22.02.2010 Datentypen (Fortsetzung) • Decimal 14 Bytes (groß, Untertyp von Variant) • Date 8 Bytes 01.01.100...31.12.9999 • Object 4 Bytes Referenz auf ein Objekt • String 10+n Bytes variable Länge < 2147483648 Zeichen • String n Bytes feste Länge 1...65535 Zeichen • Variant 16 Bytes für Zahlen • Variant 22+n Bytes für Zeichenketten Andreas Rozek HyMeSys Software & Consulting

Slide 24

VBA für Excel 22.02.2010 Datentypen-Suffixe • Integer % • Long & • Single ! • Double # • Currency @ • String $ Suffixe sind nicht Bestandteil des Variablennamens Andreas Rozek HyMeSys Software & Consulting

Slide 25

VBA für Excel 22.02.2010 Namenskonventionen • vor allem für Variablen und Konstanten • machen (Variablen-)Eigenschaften namentlich sichtbar • allgemeine Form [prefix]kind[name] • Präfixe • s = lokale, statische Variablen • m = Modul-spezifische Variablen und Konstanten • g = globale Variablen und Konstanten Andreas Rozek HyMeSys Software & Consulting

Slide 26

VBA für Excel 22.02.2010 Namenskonventionen (Fortsetzung) • Variablen-Arten für Excel-Blätter • wks Worksheet (Arbeitsblatt) sht • cht Chart (Diagramm) • frm Form (Dialog) • bas Basic (Standardmodul) mdl • cls Class (Klassenmodul) • xl4 Excel4 (Makroblatt) • im Falle e

Recommended
View more...