VBA vs. VSTO – ein Vergleich

Was ist VBA?

VBA ist die Abkürzung für V isual B asic für A pplications und ist eine Sprache, in der immer wiederkehrende Abläufe und Routinen für die gesamte Programmfamilie von Microsoft Office einfach gesteuert und programmiert werden können. VBA wurde entwickelt, damit die Makros, welche in Microsoft Office bereits viel genutzte Routinen vereinfachten, besser kontrolliert werden können und mehr Möglichkeiten bieten. Abgeleitet aus der Programmiersprache Basic lassen sich mit VBA neben den bereits erwähnten Makros auch Formulare oder Berichte automatisiert von einer Datenbank zu einer anderen befördern. Es können eigene Funktionen erstellt werden, welche die Berechnung komplizierter Algorithmen vereinfachen kann. Mit VBA lassen sich Masken zur Fehlermeldung programmieren, welche den entsprechenden Fehler identifizieren, statt ihn lediglich codiert anzuzeigen. Schlussendlich lassen sich mit VBA die Objekte in einer Datenbank ebenso wie die gesamte Datenbank selbst bearbeiten.

Was ist VSTO?

VSTO heißt nichts anderes als V isual S tudio T ools for O ffice. VSTO ist ein Office-Tool, welches genau genommen ein Teil von Visual Studio Professional ist. Seit der Version 2008 ist VS ein gutes Werkzeug für diejenigen, die für die Office-Familie Erweiterungen entwickeln müssen. Hier bietet VSTO eine ganze Reihe an sinnvollen Einsatzmöglichkeiten: Die Dokumentenvorlagen in Word und Excel lassen sich schnell anpassen und die Funktionsleisten einfach erweitern. In Outlook steht ein Add-in-Modell zur Verfügung und die Multifunktionsleisten lassen sich ebenfalls erweitern. In Project erlaubt VSTO Anpassungen auf der Anwenderebene und ebenfalls eine Erweiterung der Funktionsleisten. Ob bei der Erweiterung von Dokumenten oder Anwendungen, der Nutzung von SmartTags, die Formularbereiche im Outlook oder die Steuerelemente für Word, wer sich zum ersten Mal mit VSTO beschäftigt, stellt fest, dass dieses Tool eine große Bandbreite an Möglichkeiten bietet, die auf den ersten Blick fast unüberschaubar sind.

Ein Vergleich von VBA und VSTO

VBA lässt sich nicht einfach mit VSTO vergleichen und erinnert stark an den Versuch, einen Apfel mit einer Birne zu vergleichen. VBA ist im Prinzip die Makrosprache der Office-Familie und wurde dafür entwickelt, kleinere Erweiterungen und die erwähnten Makros zu programmieren. Trotzdem lassen sich mit VBA auch größere Erweiterungen entwickeln. Die Erweiterungen, welche mit VBA entwickelt werden, sind immer Teil eines Dokumentes. In Office 2007 lassen sich diese Dokumenttypen mit der ihnen eigenen Endung von den regulären Dokumenttypen unterscheiden. Eine Endung, wie .Docm, .Pptm oder .Xlsm weist darauf hin, dass hier VBA-Makros eingebettet sind. Dahingegen sind die Erweiterungen und Makros, die mit VSTO entwickelt wurden, grundsätzlich extern. Es gibt sowohl bei VBA als auch bei VSTO kleinere Vor- und Nachteile. Weil aber bei VSTO der aktive Code der Erweiterung kein Teil des Dokumentes ist, bietet dieser ein wenig mehr Sicherheit.

VSTO bietet mehr Möglichkeiten

Mit VSTO lässt sich einfach mehr gestalten als mit VBA: VSTO lässt sich in andere Systeme, wie beispielsweise in eine Datenbank oder ein SharePoint-Portal integrieren. Das wäre mit VBA entweder überhaupt nicht möglich und wenn doch, dann nur sehr umständlich. Während VBO sozusagen eine eigene Sprache für die Microsoft-Programmfamilie ist, mit der die Makro-Funktionen erweitert wurden, geht es bei VSTO um die Entwicklung richtiger Software. Das soll keine Wertung sein, auch die Makroprogrammierung ist wichtig und kann die tägliche Arbeit erleichtern. Wer nur ein Fahrrad braucht, um schnell in der Innenstadt herumzudüsen, braucht keinen Lastwagen für den Umzug. Ein Projekt, welches mit VSTO entwickelt wird, basiert auf einem Quelltext. Somit lässt es sich im Team entwickeln, Quellen lassen sich mehrfach verwenden und die Programmierung lässt sich analysieren. Außerdem stehen für VSTO solch moderne Mechanismen wie Logging und Tracing zur Verfügung, wer sie denn braucht. Visual Studio bietet zudem eine komfortable und robuste Umgebung für die Entwicklung und Programmierung mit VSTO, mit der sowohl Einsteiger, als auch Profis zurechtkommen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.