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, ...)