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

Visuelles ML-Debugging-Tool von Uber

Manifold hilft bei der Modellierung von Prozessen

Visuelles ML-Debugging-Tool von Uber

Uber setzt auf seiner Plattform auch auf Machine Learning, kurz ML, um beispielsweise Entscheidungsfindung und Betrugsversuche effektiver berechnen zu können. Ein Tool soll Entwicklern bei der Arbeit helfen. lesen

C#-Programmierung mit .NET-Entwicklungstools

Einstieg in .NET, Visual Studio und Online-Compiler

C#-Programmierung mit .NET-Entwicklungstools

Um C# und .NET für die Entwicklung zu nutzen, sind zunächst keine teuren Tools notwendig. Microsoft stellt die Werkzeuge, die man zum Einstieg in die Programmierung benötigt, kostenlos zur Verfügung. Wir geben einen Überblick. 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

Web-API-Applikation mit Aurora integrieren

Dotnet-Web-API auf Amazon Aurora, Teil 2

Web-API-Applikation mit Aurora integrieren

Die Grundlagen dafür, eine auf Microsoft .NET Core basierende Web-API-Anwendung mit AWS-Diensten und Amazon Aurora zu integrieren, haben wir gelegt. An einem AWS-Demoprojekt spielen wir nun die vollständige Konfiguration und Bereitstellung durch. lesen

Security und Kubernetes stehen im Fokus der VMware-Strategie

VMworld EU 2019

Security und Kubernetes stehen im Fokus der VMware-Strategie

Auf der VMworld Europe 2019 in Barcelona stellte VMware vor 14.000 Besuchern eine Fülle von Neuheiten und Projekten vor. Hervorstechend waren der Ausbau des Developer- und Security-Portfolios, aber auch bei Angeboten für Cloud Service Provider und Telco-Dienstleister. Mit SAP und Porsche stellte VMware zwei deutsche Firmen als Kunden prominent vor. lesen

Die passende Machine Learning IDE finden

Entwicklungsumgebungen und Cloud-Plattformen

Die passende Machine Learning IDE finden

Integrierte Entwicklungsumgebungen, kurz IDEs, bieten Funktionen wie Syntax Highlighting, Code Completion, Debugging-Möglichkeiten, Variableneditoren oder Paketmanagement. Damit Entwickler davon auch im Machine-Learning-Umfeld profitieren, mpssen sie aber zunächst die passende IDE finden. lesen

Low Code und Rapid Application Development

Zwei Entwicklungsansätze in der Gegenüberstellung

Low Code und Rapid Application Development

Die Art der Softwareentwicklung unterliegt einem stetigen Wandel. Gefragt sind Ansätze, welche eine hohe Effizienz und dennoch eine sehr gute Qualität der Applikationen garantieren. Im Spannungsfeld zwischen Rapid Application Development und Low Code tut sich einiges. lesen

Stand-Alone-Simulator für Azure IoT

Azure IoT EdgeHub Dev Tool

Stand-Alone-Simulator für Azure IoT

Wer in Azure IoT-Lösungen entwickelt, kann hierfür das sogenannte „Azure IoT EdgeHub Dev Tool“ nutzen. Dabei handelt es sich um einen Simulator für das Entwickeln, Testen, Ausführen und Debuggen sowie eine lokale Entwicklungsumgebung. lesen

Ausblick auf C#-Integration in .NET 5

.NET Framework und .NET Core vereint

Ausblick auf C#-Integration in .NET 5

Um mit C# zu arbeiten, sind verschiedene Zusatzlösungen notwendig, die bei der Entwicklung und Bereitstellung von Anwendungen helfen. Das .NET Framework bietet hierfür einen Compiler, eine Implementierung der Kommandozeile, Klassenbibliotheken und verschiedene Tools. 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)