Definition „Visual Basic for Applications“ Was ist VBA?

Autor / Redakteur: zeroshope / Stephan Augsten

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.

Anbieter zum Thema

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

(ID:46270417)