Definition „Visual Basic for Applications“

Was ist VBA?

| Autor / Redakteur: zeroshope / Stephan Augsten

Visual Basic wurde in den Neunziger Jahren entworfen, um die seinerzeit noch inkompatiblen Office-Programme miteinander zu verknüpfen.
Visual Basic wurde in den Neunziger Jahren entworfen, um die seinerzeit noch inkompatiblen Office-Programme miteinander zu verknüpfen. (Bild: Microsoft)

VBA steht für Visual Basic for Applications. Es handelt sich um die Programmiersprache, in der die Microsoft Office-Applikationen geschrieben sind. Durch VBA können Anwender diese Programme leistungsfähiger machen.

VBA wurde als Programmiersprache Mitte der 1990er Jahre eingeführt. Bis dahin waren die Sprachen für die einzelnen Office-Programme von Microsoft nicht miteinander kompatibel. Die Anwendungen sollten jedoch verschmolzen werden – VBA als verbindende Sprache war geboren.

Grundlegend gestattet die Sprache zwei Ansätze: Erstens können kleinere Automatisierungsroutinen geschrieben werden – sogenannte Makros. Beispielsweise kann Word angewiesen werden, immer in Klammern den Dollar-Betrag anzuzeigen, wenn ein Euro-Preis auftaucht. Zweitens lassen sich auch komplexe Anwendungen in VBA schreiben, die zwar noch auf den Office-Programmen basieren, faktisch aber etwas grundsätzlich Neues sind. Excel kann beispielsweise angewiesen werden, Tabellen automatisch in einer bestimmten Weise grafisch auszugeben.

Mit diesen Office-Lösungen ist VBA kompatibel

  • Word ab Word 97
  • Access ab Access 95
  • Excel ab Excel 95
  • Outlook ab Outlook 2000
  • Project ab Project 2000
  • PowerPoint ab PowerPoint 2000
  • FrontPage ab FrontPage 2000
  • Visio ab Visio 2000

Für den Mac fuhr Microsoft einen Zickzack-Kurs. Die Office-Versionen der 1990er und beginnenden 2000er Jahre boten erst eine VBA-Unterstützung. 2008 wurde diese jedoch gestrichen. Seit 2011 ist sie jedoch zurück. Inzwischen sind alle Office-Apps also seit Jahren VBA-basiert. Dies gilt zudem auch für weitere Programme wie Corel Draw, MindManager oder auch AutoCAD.

Grenzen von VBA

VBA ist faktisch nur eine Lite-Version von Virtual Basic. Beispielsweise lässt sie sich nicht kompilieren. VBA ermöglicht es auch nicht, einen ausführbaren Maschinencode zu schreiben. Im Klartext bedeutet dies, dass die Programmiersprache an eine in Virtual Basic geschriebene Umgebung gebunden sein muss – wie beispielsweise die einzelnen Office-Anwendungen. Man spricht davon, dass die Sprache „Wirtsanwendungen“ benötigt.

VBA kann Funktionen innerhalb dieser Anwendungen verändern, aber keinen Einfluss auf die darunter liegende Maschine nehmen. Es ist beispielsweise nicht möglich, einen Code zu verfassen, der Word oder Excel anweisen würde, sich selbst zu deinstallieren.

An pragmatische Grenzen stößt die Arbeit mit VBA deshalb beispielsweise in PowerPoint. Es wäre wünschenswert, Makros zu schreiben, die die optische Darstellung der Präsentation möglichst optimal an das Ausgabegerät anpasst. VBA kann allerdings weder die an den Rechner übermittelten Informationen beispielsweise des Beamers lesen, noch Anweisungen für Veränderungen erteilen.

Typische Einsatzgebiete von VBA

  • Funktionseinschränkungen der Office-Apps an öffentlichen Rechnern (beispielsweise keine Internetsuche aus einem Word-Dokument heraus)
  • Wiederkehrende Operationen sollen automatisch ablaufen (beispielsweise das Eintragen von Umsätzen in eine Excel-Tabelle)
  • Die Darstellung der App soll geändert werden (beispielsweise soll Excel beim Start immer bildschirmfüllend eingeblendet werden)
  • Automatische Zuweisung von Daten (beispielsweise in unterschiedliche Tabellen)
  • Neue Funktionen übernehmen (Textpassagen aus Word werden beispielsweise in PowerPoint-Folien konvertiert)

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Grenzen der Low-Code-Entwicklung

Instant-Entwicklung vs. funktionale Programmierung

Grenzen der Low-Code-Entwicklung

Der Low-Code-Ansatz verspricht die Erstellung von Anwendungen nach dem Baukastenprinzip. Ist das noch klassische Programmierung? Nein, soll es auch nicht sein. Funktionale Programmierung wird den Geschäftsanforderungen in der Praxis meist besser gerecht. lesen

Was ist ein Makro?

Definition „Großbefehl“

Was ist ein Makro?

Ein Makro ist eine Kette von Befehlen in einem Anwendungsprogramm. Es dient der Automation von Funktionen und kann deshalb auch als Unterprogramm bezeichnet werden. Die Besonderheit ist: Viele Anwender schreiben Makros selbst. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46270417 / Definitionen)