VBA-Programmierung - Westsächsische Hochschule Zwickau
Transcription
VBA-Programmierung - Westsächsische Hochschule Zwickau
VBA-Programmierung Sibylle Schwarz Westsächsische Hochschule Zwickau Dr. Friedrichs-Ring 2a, RII 263 http://wwwstud.fh-zwickau.de/~sibsc/ [email protected] WS 2008/09 Organisation der Lehrveranstaltung Vorlesung Mi 11:20-12:50 Uhr Raum 307 I Vorlesung I schriftliche Übungen Hausaufgaben Vorbereitung auf Praktikum Praktikum Mo 13:30-15:00 Uhr Pool 325 (Z1) oder 242 (Z2) Programmieraufgaben \\whz-file-01\Information\Lehre\INFORMAT\Schwarz\WS08\VBA Folien und Hausaufgaben unter http://wwwstud.fh-zwickau.de/~sibsc/lehre/ws08/vba Prüfung Klausur 120 min (Februar) Zulassungsvoraussetzungen: I Lösung der Hausaufgaben I Lösung der Praktikum-Aufgaben I aktive Teilnahme am Praktikum Literatur I Folien zur Vorlesung http: //wwwstud.fh-zwickau.de/~sibsc/lehre/ws08/vba I RRZN-Handbuch: Excel 2007 - Automatisierung - Programmierung erhältlich über Buchshop 5, 60 e http: //141.32.28.182/buchshop2/public_html/index.php (bestellen, an Kasse bezahlen, bei Frau Albrecht abholen) Softwarebeispiele (Übungsdateien) unter http://www.rrzn.uni-hannover.de/buecher.html I Online-Hilfe I Unterlagen von Herrn Prof. Conrad unter \\whz-file-01\Information\Lehre\INFORMAT\CONRAD\IMEVBA MS-Excel-Makros erleichtern wiederholt vorkommende Aufgaben MS-Excel-Makro fasst Folgen von Arbeitsschritten zusammen Aufruf durch Tastenkombination oder Schaltfläche Beispiele: I Eintragen von Spaltenköpfen in Tabellen I Formatierung (z.B. Farben) MS-Excel-Makros aufzeichnen 1. Aufzeichnung starten (Ansicht → Makros → Makro aufzeichnen) 2. Namen festlegen, evtl. Tastenkombination, Beschreibung 3. Arbeitsschritte ausführen 4. Aufzeichnung beenden 5. Arbeitsmappe speichern (.xltm) aufzuzeichnende Arbeitsschritte vorher planen, testen und notieren MS-Excel-Makro löschen: I Ansicht → Makros → Makros anzeigen I zu löschendes Makro auswählen I Löschen (kein Undo möglich!) MS-Excel-Makros ausführen mehrere Aufruf-Möglichkeiten: I Makro auswählen Ansicht → Makros → Makros anzeigen I beim Aufzeichnen definierte Tastenkombination I Symbol in Symbolleiste (Symbolleiste Schnellzugriff → Makros → Hinzufügen) I Steuerelemente (Steuerelemente → Symbol einfügen → Schaltfläche → Makro zuweisen) passende Beschriftung wählen Bezüge Auswahl vor Aufzeichnung des MS-Excel-Makros absolut (Standard) unabhängig von den bei Aufzeichnung und Aufruf ausgewählten Positionen Ausführung in genau den während der Aufzeichnung verwendeten Zellen relativ abhängig von den bei Aufzeichnung und Aufruf ausgewählten Positionen Beispiel: Hallo Interne Repräsentation VBA-Entwicklungsumgebung eingebaut in MS-Excel (Alt+F11) VBA-Code im Editorfenster: Sub makroname() ’ ... ’ Tastenkombination: ... ... End Sub VBA kann mehr als aufgezeichnete MS-Excel-Makros repräsentieren Anwendung der VBA-Programmierung in MS-Excel I Änderung aufgezeichneter MS-Excel-Makros I Erstellung von Auto-Makros (werden automatisch ausgeführt, z.B. beim Öffen von Arbeitsmappen) Automatisierung von Arbeitsschritten, die nicht als Makros aufgezeichnet werden können, z.B. I strukturierte Programme (Schleifen, Verzweigungen, Unterprogramme, ..) I graphische Elemente, z.B. Dialogfenster zur Dateneingabe Makroviren und Sicherheit VBA ermöglicht Kopieren, Löschen, Manipulieren von Dateien Makroviren: versteckte MS-Excel-Makros, die automatisch ausgeführt werden MS-Excel-Arbeitsmappen-Typen .xlsx ohne Makros .xltm kann Makros enthalten Sicherheitsoptionen: (Optionen → Vertrauensstellungscenter → Einstellungen für Makros) beim Öffnen von .xltm-Dateien: I keine MS-Excel-Makros aktivieren I MS-Excel-Makros der Arbeitsmappe aktivieren I Vertrauensstellungscenter (danach Schließen und erneut öffnen) VBA Visual Basic for Applications Geschichte: I 1964 BASIC Beginner’s All-purpose Symbolic Instruction Code imperative Programmiersprache wird interpretiert (Übersetzung der einzelnen Programmschritte zur Ausführungszeit) BASIC-Interpreter als Benutzeroberfläche früher PC VBA Visual Basic for Applications Geschichte: I 1964 BASIC Beginner’s All-purpose Symbolic Instruction Code imperative Programmiersprache wird interpretiert (Übersetzung der einzelnen Programmschritte zur Ausführungszeit) BASIC-Interpreter als Benutzeroberfläche früher PC I 1991 Microsoft Visual Basic (VB) (inzwischen) objektorientierte Programmiersprache wird compiliert (Compiler analysiert und bersetzt das ganze Programme vor der Ausführung in Maschinencode) Entwicklungsumgebung: Visual Studio VBA Visual Basic for Applications Geschichte: I 1964 BASIC Beginner’s All-purpose Symbolic Instruction Code imperative Programmiersprache wird interpretiert (Übersetzung der einzelnen Programmschritte zur Ausführungszeit) BASIC-Interpreter als Benutzeroberfläche früher PC I 1991 Microsoft Visual Basic (VB) (inzwischen) objektorientierte Programmiersprache wird compiliert (Compiler analysiert und bersetzt das ganze Programme vor der Ausführung in Maschinencode) Entwicklungsumgebung: Visual Studio I 1995 Microsoft VBA Skriptsprache (interpretiert) Anwendung in Microsoft-Office-Anwendungen eingebaute VBA-Entwicklungsumgebung in Microsoft-Office-Anwendungen Entwicklungsumgebung I Projektexplorer Überblick über die Komponenten eines Projektes (Mappen, Module, Unterprogramme) I Eigenschaften-Fenster Eigenschaften der im Projektexplorer ausgewählten Komponente I Editor Bearbeitung des Programmcodes Projektstruktur Projekt Rahmen für alle vom Entwickler angelegten Module wird automatisch von der MS Office-Anwendung angelegt, aus der die VBA-Entwicklungsumbegung gestartet wird Standardmodul enthält eine Liste von Unterprogrammen wird automatisch (aufgezeichnete Makros) oder vom Entwickler angelegt Klassenmodul enthält Code speziell für eine Klasse (Mappe, Formular,...) wird automatisch (Dialogfenster,...) oder vom Entwickler angelegt Unterprogramm Sub, Function, .. (Prozedur, Makro, Funktion, ...)