Visual Basic for Applications

Programmiersprache
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 13. Januar 2006 um 16:11 Uhr durch 193.174.9.65 (Diskussion) (Weblinks). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Visual Basic for Applications (VBA) von Microsoft ist eine aus dem von Microsoft entwickelten Basic-Dialekt Visual Basic (VB) abgeleitete Skriptsprache, die zur Steuerung von Programmabläufen in den Microsoft Office-Programmen entwickelt wurde. VBA ist damit der Nachfolger der verschiedenen Makrosprachen in den MS Office-Anwendungen.

Verfügbarkeit

Derzeit (Stand 2005) ist VBA in den Microsoft-Office-Programmen Word (seit Version 97), Excel (seit Version 95), Access (seit Version 95), Project, PowerPoint und Outlook verfügbar. Darüber hinaus wird VBA von der Corel Corporation lizenziert und ist in Corel Draw und Corel Photo Paint verfügbar. VBA wird auch als Makrosprache in AutoCAD eingesetzt.

Sprache

VBA ist gegenüber Visual Basic in seinen Funktionen und in der Leistungsfähigkeit seiner Entwicklungsumgebung reduziert. VBA ist ein Interpreter, der allerdings Funktionen eines Compilers besitzt und es bietet eine Reihe von Objekten an, ist aber selbst nur eingeschränkt objektorientiert.

In den jeweiligen Anwendungen steht neben dem VBA Kern (Schleifenstrukturen, Datentypen, mathematische Funktionen, Dateisystem) das Application-Objekt zur Verfügung, welches Zugriff auf die Anwendung gewährt, in der VBA gerade läuft.

Mit Methoden wie CreateObject() oder dem Erstellen von Referenzen können auch andere Office-Anwendungen oder Objekte fremder Programme benutzt werden. In den meisten Fällen sind VBA-Programme einfache Erweiterungen der Office-Programme, daher werden Probleme in der Praxis fast immer durch prozedurale Programmierung gelöst. Für fortgeschrittene Anwendungen stellt VBA auch Klassenmodule zur Verfügung, die aber gegenüber der aus anderen Sprachen bekannten Funktionalität nicht voll entwickelt sind. Einige aus C++ bekannte Methoden, wie das Überladen von Operatoren und Vererbung, sind in VBA nicht möglich.

VBA bietet neben den Sprung- und Verzweigungsstrukturen der höheren Sprachen auch Sprungbefehle mit GOTO-Befehlen und Zeilenmarken an. Die Möglichkeiten der Fehlerbehandlung sind im Vergleich mit anderen Sprachen eingeschränkt.

Verbreitung und Sicherheit

Zahlreiche Websites und Newsgroups beschäftigen sich mit VBA. Durch seine Verbreitung gibt es eine Reihe von freien Programmsammlungen, Literatur und kommerziellen Angeboten. Da sich die Programme in eigenen Add-Ins kapseln lassen, können sie nach Bedarf zur Anwendung dazugeladen werden.

Makros mit Schadfunktionen (Makroviren), die in VBA geschrieben wurden, stellen eines der Risiken dar, mit dem der Anwender von Office-Produkten zu rechnen hat. Wegen der Verbreitung von Microsoft Office und der schwachen Schutzmechanismen sind solche Attacken mit geringer Kenntnis und großer potentieller Wirkung programmierbar.

Zum Schutz vor Einsichtnahme kann der VBA-Code durch ein Passwort geschützt werden. Dieser Schutz konnte in der Vergangenheit teilweise recht einfach ausgehebelt werden, z.B. durch Import in die äquivalente Anwendung des OpenOffice-Paketes.

Siehe auch