O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

VBA für Dummies®

Book Description

Mit VBA (Visual Basic für Applikationen) können Sie Applikationen, zum Beispiel die Microsoft-Office-Komponenten Word, Excel und Access, auf Ihre Bedürfnisse zuschneiden und somit Programmabläufe steuern. In "VBA für Dummies" zeigt Ihnen John Paul Mueller, wie Sie eigene Benutzeroberflächen für die Microsoft-Office-2007-Applikationen erstellen, strukturierte VBA-Programme schreiben und tägliche Arbeiten automatisieren können. Er erklärt, wie Sie Formulare gestalten, Fehler in der VBA-Programmierung suchen und beheben und er führt Sie in die objektorientierte Programmierung ein. Außerdem zeigt er, wie Sie die neue Multifunktionsleiste in den Office-2007-Anwendungen an Ihre Anforderungen anpassen, wie Sie digitale Signaturen in Dokumente einbinden, XML-Dokumente mit VBA weiterentwickeln und alte VBA-Codes schnell aktualisieren.

Table of Contents

  1. Copyright
  2. Über den Autor
  3. Über den Übersetzer
  4. Einführung
    1. Über dieses Buch
    2. Was Sie in diesem Buch erwartet
    3. Was Sie lesen sollten
    4. Was Sie nicht unbedingt lesen müssen
    5. Törichte Annahmen über den Leser
    6. Wie dieses Buch aufgebaut ist
      1. Teil I: Eine Übersicht über VBA
      2. Teil II: VBA von der Pike auf
      3. Teil III: So erweitern Sie Ihren VBA-Horizont
      4. Teil IV: Anwendungsspezifische VBA-Programme
      5. Teil V: Der Top-Ten-Teil
    7. Die begleitende Webseite
    8. Symbole, die in diesem Buch verwendet werden
    9. Wie es weitergeht
  5. I. Eine übersicht über VBA
    1. 1. VBA kennen lernen
      1. 1.1. VBA wird mit Office ausgeliefert
      2. 1.2. VBA: Nicht nur für Programmierer
        1. 1.2.1. Dokumente automatisieren
        2. 1.2.2. Die Benutzeroberfläche einer Anwendung anpassen
        3. 1.2.3. Berechnungen durchführen
        4. 1.2.4. Daten aus Datenbanken abrufen
        5. 1.2.5. Anwendungen mit neuen Features erweitern
        6. 1.2.6. Spezialtools erstellen
        7. 1.2.7. So geht es nach Ihrem Kopf
      3. 1.3. Auch andere Produkte nutzen VBA
      4. 1.4. Zimmer mit Aussicht
        1. 1.4.1. Die integrierte Entwicklungsumgebung (IDE, Integrated Development Environment)
        2. 1.4.2. Die VBA-Werkzeugsammlung
        3. 1.4.3. Und was sind Objekte?
      5. 1.5. Den Visual Basic-Editor starten
        1. 1.5.1. Word 2007, Excel 2007 und PowerPoint 2007
        2. 1.5.2. Access 2007
        3. 1.5.3. OneNote 2007, Publisher 2007, Visio 2007, Project 2007 und alle älteren Office-Versionen
        4. 1.5.4. Sicherheit unter Vista
        5. 1.5.5. Die Makrosicherheit in Word 2007, Excel 2007, PowerPoint 2007 und Access 2007 einstellen
        6. 1.5.6. Die Makrosicherheit in OneNote 2007, Publisher 2007, Visio 2007, Project 2007 und allen älteren Office-Versionen setzen
        7. 1.5.7. Der Projekt-Explorer
        8. 1.5.8. Das Eigenschaftenfenster
        9. 1.5.9. Das Code-Fenster
        10. 1.5.10. Das Direktfenster
        11. 1.5.11. Der Objektkatalog
    2. 2. Ihr erstes VBA-Programm
      1. 2.1. Immer diese Entscheidungen
      2. 2.2. Schritte zum Erstellen eines VBA-Programms
        1. 2.2.1. Schritt 1: Das Programm entwerfen
        2. 2.2.2. Schritt 2: Den Entwurf implementieren
        3. 2.2.3. Schritt 3: Test, Test, Test
        4. 2.2.4. Schritt 4: Kampf den Käfern
      3. 2.3. Vier Möglichkeiten zum Ausführen Ihres Programms
        1. 2.3.1. Das Dialogfeld «Makro»
        2. 2.3.2. Die Schnellstartmethoden
        3. 2.3.3. Das Programm über anderen VBA-Code aufrufen
        4. 2.3.4. Das VBA-Programm automatisch ausführen
      4. 2.4. Nutzen Sie die Hilfe und verwenden Sie den Code von Microsoft
  6. II. VBA von der Pike auf
    1. 3. Strukturierte VBA-Programme schreiben
      1. 3.1. Teile eines Programms
        1. 3.1.1. Die Teile eines Programms definieren
        2. 3.1.2. Grundlegendes zu den VBA-Programmierbausteinen
      2. 3.2. Den Makro-Rekorder verwenden
        1. 3.2.1. Ein Makro mit der Multifunktionsleiste aufnehmen
        2. 3.2.2. Prozeduren verwenden
        3. 3.2.3. Funktionen verwenden
        4. 3.2.4. Die Projekteinstellungen ändern
        5. 3.2.5. Compileroptionen festlegen
      3. 3.3. Der Lego-Ansatz
        1. 3.3.1. Einen Anwendungsplan erstellen
        2. 3.3.2. Das Projekt definieren
        3. 3.3.3. Ein Modul hinzufügen
        4. 3.3.4. Prozeduren entwerfen
        5. 3.3.5. Anweisungen schreiben
      4. 3.4. Schreiben Sie Ihre erste Sub-Prozedur
      5. 3.5. Schreiben Sie Ihre erste Funktion
      6. 3.6. Gültigkeitsbereiche und was es damit auf sich hat
        1. 3.6.1. Sinn und Zweck von Gültigkeitsbereichen
        2. 3.6.2. Die Auswirkungen von Gültigkeitsbereichen festlegen
      7. 3.7. Lesbaren Code erstellen
      8. 3.8. Anderen Informationen zum Code geben
        1. 3.8.1. Einfache Kommentare schreiben
        2. 3.8.2. Wissen, wann Kommentare verwendet werden sollen
        3. 3.8.3. Wissen, wie ein guter Kommentar geschrieben wird
    2. 4. Informationen speichern und ändern
      1. 4.1. Grundlegendes zu Variablen und Konstanten
        1. 4.1.1. Haben Sie etwas zu bekanntzumachen?
        2. 4.1.2. Welcher Speichertyp soll verwendet werden?
        3. 4.1.3. Den Gültigkeitsbereich definieren
      2. 4.2. Die Datentypen definieren
        1. 4.2.1. Zeichenfolgen für Texte
        2. 4.2.2. Zahlen für Berechnungen verwenden
        3. 4.2.3. Mit Booleschen Werten Entscheidungen treffen
        4. 4.2.4. Wissenschaftliche Werte für mathematische Berechnungen
        5. 4.2.5. Währungswerte für Finanzrechnungen
        6. 4.2.6. Datums- und Uhrzeitwerte verwenden
        7. 4.2.7. Mit Variant-Daten arbeiten
        8. 4.2.8. Daten in einem ansprechenden Format anzeigen
      3. 4.3. Mit Operatoren arbeiten
      4. 4.4. Wenden Sie Ihr Wissen an, um einen Excel-Bericht zu erstellen
    3. 5. Strukturierte Programme erstellen
      1. 5.1. Mit Strukturen Kontrolle ausüben
      2. 5.2. Mit der If...Then-Anweisung Entscheidungen treffen
        1. 5.2.1. Die If...Then-Anweisung verwenden
        2. 5.2.2. Die If...Then...Else-Anweisung verwenden
        3. 5.2.3. Die If...Then...ElseIf-Anweisung verwenden
        4. 5.2.4. Die IIf-Funktion verwenden
      3. 5.3. Eine Auswahl treffen mit der Select Case-Anweisung
        1. 5.3.1. Die Select Case-Anweisung verwenden
        2. 5.3.2. Die Case Else-Klausel verwenden
      4. 5.4. Eine Aufgabe mit Schleifen mehrere Male ausführen
        1. 5.4.1. Die Do While...Loop-Anweisung verwenden
        2. 5.4.2. Die Do...Loop While-Anweisung verwenden
        3. 5.4.3. Die Do Until...Loop-Anweisung verwenden
        4. 5.4.4. Die Do...Loop Until-Anweisung verwenden
        5. 5.4.5. Die For...Next-Anweisung verwenden
        6. 5.4.6. Die For Each...Next-Anweisung verwenden
      5. 5.5. Den Programmfluss mit GoTo umleiten
        1. 5.5.1. Die GoTo-Anweisung richtig verwenden
        2. 5.5.2. Falsche Verwendung der GoTo-Anweisung vermeiden
    4. 6. Fehler suchen und beheben
      1. 6.1. Den Feind kennen
        1. 6.1.1. Grundlegendes zu Syntaxfehlern
        2. 6.1.2. Grundlegendes zu Kompilierfehlern
        3. 6.1.3. Grundlegendes zu Laufzeitfehlern
        4. 6.1.4. Grundlegendes zu Semantikfehlern
      2. 6.2. Vorbeugen ist besser als heilen
        1. 6.2.1. Laufzeitfehler vermeiden
        2. 6.2.2. Wiederherstellen nach einem Fehler
        3. 6.2.3. Grundlegendes zu Fehlerbehandlungsroutinen
        4. 6.2.4. So schreiben Sie Ihren eigenen Fehlerbehandlungscode
        5. 6.2.5. Fehler dokumentieren
      3. 6.3. Code speichern und wiederherstellen
        1. 6.3.1. Ein Modul aus einem Programm exportieren
        2. 6.3.2. Ein Modul in ein Programm importieren
      4. 6.4. Zeit für die Fehlersuche
        1. 6.4.1. Unterbrechungen
        2. 6.4.2. Einzelschritte
        3. 6.4.3. Datentipps anzeigen
        4. 6.4.4. Das Direktfenster nutzen
      5. 6.5. Das Lokal-Fenster
      6. 6.6. Das Überwachungsfenster
        1. 6.6.1. Einen neuen Überwachungsausdruck hinzufügen
        2. 6.6.2. Das Dialogfeld Überwachung hinzufügen
    5. 7. Mit dem Benutzer kommunizieren
      1. 7.1. Grundlegendes zu Formularen
        1. 7.1.1. Formulare kreativ einsetzen
        2. 7.1.2. Entwerfen Sie ein Formular für Ihre Anwendung
        3. 7.1.3. Überlegungen zum Layout des Formulars
      2. 7.2. Die Standardsteuerelemente
        1. 7.2.1. Steuerelemente in ein Formular einfügen
        2. 7.2.2. Die beiden Teile eines Formulars verstehen
        3. 7.2.3. Text mit dem Bezeichnungsfeld-Steuerelement anzeigen
        4. 7.2.4. Den Benutzer mit Textfeldern zum Eingeben von Informationen auffordern
        5. 7.2.5. Aufgaben mit Befehlsschaltflächen ausführen
        6. 7.2.6. Mit Kontrollkästchen und Umschaltfeldern ja oder nein sagen
        7. 7.2.7. Mit Optionsfeldern und Rahmen eine Auswahl treffen
        8. 7.2.8. Optionen mit Listen- und Kombinationsfeldern auswählen
        9. 7.2.9. Steuerelemente in die Werkzeugsammlung einfügen
      3. 7.3. Selbst erstellte Formulare verwenden
        1. 7.3.1. Die Eigenschaften von Formularen und Steuerelementen ändern
        2. 7.3.2. So verschönern Sie Ihr Formular
        3. 7.3.3. Eine Verbindung zwischen Formularen und Modulen schaffen
        4. 7.3.4. Benutzereingaben überprüfen
        5. 7.3.5. Formularereignisse behandeln
  7. III. Erweitern Sie Ihren VBA-Horizont
    1. 8. Objektorientierte Programmierung
      1. 8.1. Grundlegendes zu Klassen
        1. 8.1.1. Grundlegendes zu objektorientierten Programmierkonzepten
        2. 8.1.2. Grundlegendes zu Eigenschaften, Methoden und Ereignissen
        3. 8.1.3. Klassen definieren
        4. 8.1.4. Klassentypen auseinanderhalten
        5. 8.1.5. Verwenden Sie Klassen, um Ihre Anwendungen zu verbessern
      2. 8.2. Eine einfache Klasse entwerfen
        1. 8.2.1. Eigenschaften definieren
      3. 8.3. Verfahren für die Erzeugung von Eigenschaften
        1. 8.3.1. Methoden definieren
        2. 8.3.2. Ereignisse definieren
        3. 8.3.3. Aufzählungskonstanten verwenden
        4. 8.3.4. Initialisierung definieren
        5. 8.3.5. Die Instancing-Eigenschaft einstellen
        6. 8.3.6. Nützliche Klassen erstellen
      4. 8.4. Ihr neues Objekt in einer Anwendung benutzen
      5. 8.5. Klassen mit Fehlerbehandlung
      6. 8.6. Die With-Anweisung verwenden
      7. 8.7. Eine digitale Signatur hinzufügen
        1. 8.7.1. Ein eigenes digitales Zertifikat erstellen
        2. 8.7.2. Ein Zertifikat von der Zertifizierungsstelle Ihres Unternehmens beantragen
        3. 8.7.3. Ein digitales Zertifikat kaufen
      8. 8.8. Eine VBA-Anwendung digital signieren
    2. 9. Mit Datenfeldern und Auflistungen arbeiten
      1. 9.1. Datenfelder zur strukturierten Speicherung verwenden
        1. 9.1.1. Grundlegendes zur Verwendung von Datenfeldern
        2. 9.1.2. Grundlegendes zu Datenfeldtypen
        3. 9.1.3. Daten von einem Datenfeld in ein anderes kopieren
      2. 9.2. Auflistungen zum Erstellen von Datensätzen verwenden
        1. 9.2.1. Grundlegendes zur Verwendung von Auflistungen
        2. 9.2.2. Wissen, wann eine Auflistung verwendet werden sollte
        3. 9.2.3. Daten mit Schlüssel in eine Auflistung aufnehmen
        4. 9.2.4. Auf vordefinierte Auflistungselemente zugreifen
      3. 9.3. Eigene Datentypen definieren
        1. 9.3.1. Grundlegendes zu benutzerdefinierten Datentypen
        2. 9.3.2. Wissen, wann eigene Datentypen erstellt werden sollten
        3. 9.3.3. Auf Daten zugreifen und Daten manipulieren
    3. 10. Mit Festplattendateien arbeiten
      1. 10.1. Festplattenspeicherung verwenden
        1. 10.1.1. Informationen zur Anwendungskonfiguration
        2. 10.1.2. Datenkonvertierung
        3. 10.1.3. Datenspeicherung
      2. 10.2. Mit Einstellungen arbeiten
        1. 10.2.1. Eine INI-Datei schreiben
        2. 10.2.2. Eine INI-Datei lesen
    4. 11. VBA-Programmierung mit XML
      1. 11.1. WordML und ein gespeichertes XML-Dokument vergleichen
      2. 11.2. XML-Dateien bearbeiten
        1. 11.2.1. Daten auf die Festplatte schreiben
        2. 11.2.2. Ein Schema festlegen
        3. 11.2.3. XSD zum Verknüpfen von Arbeitsmappen verwenden
        4. 11.2.4. Daten auf die Festplatte exportieren
        5. 11.2.5. Daten von der Festplatte importieren
      3. 11.3. Ein einfaches Word-XML-Dokument erstellen
      4. 11.4. Das Aussehen von XML mit XSLT verändern
        1. 11.4.1. Grundlegendes zu XSLT
        2. 11.4.2. Word-Dokumente mit XSLT speichern
        3. 11.4.3. Den Word-XML-Prozess automatisieren
  8. IV. Anwendungsspezifische VBA-Programme
    1. 12. VBA-Programmierung in Office
      1. 12.1. Mit der Benutzerumgebung arbeiten
        1. 12.1.1. Nützliche Änderungen, die Sie vornehmen können
        2. 12.1.2. Probleme, die Sie bedenken sollten
      2. 12.2. Symbolleisten und Menüs verändern
        1. 12.2.1. Symbolleisten und Menüs ein- und ausblenden
        2. 12.2.2. Den Inhalt einer Symbolleiste oder eines Menüs verändern
        3. 12.2.3. Symbolleisten und Menüs hinzufügen und entfernen
      3. 12.3. Mit der Multifunktionsleiste arbeiten
        1. 12.3.1. Den Inhalt der neuen Dateien verstehen
        2. 12.3.2. Den Office 2007 Custom UI Editor beziehen und verwenden
        3. 12.3.3. Eine Registerkarte, eine Gruppe und eine Schaltfläche hinzufügen
        4. 12.3.4. Aufgaben ausführen, wenn die Multifunktionsleiste geladen wird
        5. 12.3.5. Existierende Registerkarten verändern
    2. 13. VBA-Programmierung in Word
      1. 13.1. Grundlegendes zu Word-spezifischen Objekten
        1. 13.1.1. Die Documents-Auflistung verwenden
        2. 13.1.2. Die Templates-Auflistung verwenden
        3. 13.1.3. Die Windows-Auflistung verwenden
      2. 13.2. Auf das Word-Dokument zugreifen
      3. 13.3. Die Registrierung mit VBA verwenden
        1. 13.3.1. Die UAC Probleme in Vista überwinden
        2. 13.3.2. Auf verschiedene Teile der Registry unter Office zugreifen
      4. 13.4. Objekte in einem Word-Dokument auswählen
        1. 13.4.1. Objektverknüpfungen verstehen
        2. 13.4.2. Mit eingebetteten Objekten über die InlineShape-Auflistung arbeiten
      5. 13.5. Text ändern
      6. 13.6. Mit Umschlägen und Beschriftungen arbeiten
        1. 13.6.1. Das Formular für Umschläge und Beschriftungen entwerfen
        2. 13.6.2. Umschläge drucken
        3. 13.6.3. Beschriftungen drucken
    3. 14. VBA-Programmierung in Excel
      1. 14.1. Grundlegendes zu Excel-spezifischen Objekten
        1. 14.1.1. Die Workbooks-Auflistung verwenden
        2. 14.1.2. Die Sheets-Auflistung verwenden
        3. 14.1.3. Die Charts-Auflistung verwenden
        4. 14.1.4. Die Windows-Auflistung verwenden
      2. 14.2. Objekte in Excel auswählen
      3. 14.3. Benutzerdefinierte Funktionen in Excel entwickeln
        1. 14.3.1. Datenkonvertierungen durchführen
        2. 14.3.2. Mathematische Berechnungen definieren
        3. 14.3.3. Funktionen mit Kommentaren versehen
    4. 15. VBA-Programmierung in Access
      1. 15.1. Grundlegendes zu Access-spezifischen Objekten
        1. 15.1.1. Access und die Verwendung von Prozeduren
        2. 15.1.2. Das Application-Objekt effizient anwenden
        3. 15.1.3. Den Arbeitsbereich mit der Workspaces-Auflistung definieren
        4. 15.1.4. Das DBEngine-Objekt verwenden
        5. 15.1.5. Das CurrentDB-Objekt und damit zusammenhängende Objekte verwenden
        6. 15.1.6. Grundlegendes zu Datenbankobjekten
        7. 15.1.7. Mit dem DoCmd-Objekt auf besondere Befehle zugreifen
      2. 15.2. Grundlegendes zu SQL: Ein kurzer Überblick
        1. 15.2.1. Auf einfache Art und Weise eine SQL-Abfrage erstellen
        2. 15.2.2. Die SQL-Abfrage anwenden
      3. 15.3. Formularspezifische Anwendungen einbinden
      4. 15.4. Automatische Anwendungen erstellen
    5. 16. Anwendungen, die gut zusammenarbeiten
      1. 16.1. Gründe, warum Sie mit mehr als nur einer Anwendung arbeiten sollten
      2. 16.2. Externe Anwendungen starten und beenden
        1. 16.2.1. Entscheiden, wie die Aufgabe gelöst wird
        2. 16.2.2. Win32-API-Aufrufe erstellen
        3. 16.2.3. Den Prozess einkapseln
        4. 16.2.4. Die Funktion AccessExternalProgram aufrufen
      3. 16.3. Outlook-E-Mails mit Word bearbeiten
      4. 16.4. E-Mails mit Outlook verschicken
      5. 16.5. Notizen von Word an Excel schicken
  9. V. Der Top-Ten-Teil
    1. 17. Zehn VBA-Informationsquellen
      1. 17.1. Zeitschriften
        1. 17.1.1. Altehrwürdige Zeitschriften
        2. 17.1.2. Kostenlose elektronische Newsletter
      2. 17.2. RSS-Feeds verwenden, um aktuelle Informationen zu erhalten
      3. 17.3. Interessante Newsgroups und Listserver
        1. 17.3.1. Microsoft-Newsgroups
        2. 17.3.2. Newsgroups von anderen Anbietern
        3. 17.3.3. Listserver, auf die Sie über E-Mail und Webseiten zugreifen können
      4. 17.4. Den richtigen Code finden
      5. 17.5. Werkzeuge, mit denen die Programmierung vereinfacht werden kann
      6. 17.6. ActiveX- Steuerelemente und Komponenten von Drittanbietern herunterladen
      7. 17.7. Weitere Links
      8. 17.8. Mich als Informationsquelle nutzen
    2. 18. Zehn Wege, um Ihren alten VBA-Code schnell zu aktualisieren
      1. 18.1. Ihren Code vor dem Ändern debuggen
      2. 18.2. Suchen-und-Ersetzen zu Ihrem Vorteil nutzen
      3. 18.3. Andere nach Lösungen fragen
      4. 18.4. Die Problemlösungen finden, die Microsoft anbietet
      5. 18.5. Fehlerbehebungen von Drittanbietern finden
      6. 18.6. Fehlerbehebungen dokumentieren
      7. 18.7. Hilfreichen Code aus der VBA-Hilfe entnehmen
      8. 18.8. Ihre Anwender bitten, Ihnen zu helfen
      9. 18.9. Erstellen Sie einen Update-Plan
      10. 18.10. Herausfinden, wann man alten Code nicht aktualisieren kann
      11. 18.11. Den Code in diesem Buch für Aktualisierungen verwenden