VBA-Programmierung Sibylle Schwarz Westsächsische Hochschule Zwickau Dr. Friedrichs-Ring 2a, RII 263 http://wwwstud.fh-zwickau.de/~sibsc/ sibylle.schwarz@fh-zwickau.de WS 2008/09
Organisation der Lehrveranstaltung Vorlesung Mi 11:20-12:50 Uhr Raum 307 Vorlesung 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: Lösung der Hausaufgaben Lösung der Praktikum-Aufgaben aktive Teilnahme am Praktikum
Literatur Folien zur Vorlesung http: //wwwstud.fh-zwickau.de/~sibsc/lehre/ws08/vba 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 Online-Hilfe 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: Eintragen von Spaltenköpfen in Tabellen 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: Ansicht Makros Makros anzeigen zu löschendes Makro auswählen Löschen (kein Undo möglich!)
MS-Excel-Makros ausführen mehrere Aufruf-Möglichkeiten: Makro auswählen Ansicht Makros Makros anzeigen beim Aufzeichnen definierte Tastenkombination Symbol in Symbolleiste (Symbolleiste Schnellzugriff Makros Hinzufügen) 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 Änderung aufgezeichneter MS-Excel-Makros 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. strukturierte Programme (Schleifen, Verzweigungen, Unterprogramme,..) 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: keine MS-Excel-Makros aktivieren MS-Excel-Makros der Arbeitsmappe aktivieren Vertrauensstellungscenter (danach Schließen und erneut öffnen)
VBA Visual Basic for Applications Geschichte: 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: 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 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: 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 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 1995 Microsoft VBA Skriptsprache (interpretiert) Anwendung in Microsoft-Office-Anwendungen eingebaute VBA-Entwicklungsumgebung in Microsoft-Office-Anwendungen
Entwicklungsumgebung Projektexplorer Überblick über die Komponenten eines Projektes (Mappen, Module, Unterprogramme) Eigenschaften-Fenster Eigenschaften der im Projektexplorer ausgewählten Komponente 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,...)