In vielen Unternehmen gibt es einen Urwald von Office Vorlagen mit diversen Verwendungen und veralteten Makros. Im schlimmsten Fall wurden diese an verschiedene Anwender verteilt und der eingebettete Code schon mehrfach verändert.
Suchst du nach einer Möglichkeit Office Anwendungen elegant zu erweitern oder den Workflow zu vereinfachen? Bist du ausserdem ein C# Entwickler? Dann lese diesen Betrag zu VSTO Add-in.
VSTO Add-in
VSTO (Visual Studio Tools for Office) steht für eine Palette an Werkzeugen und Vorlagen in Visual Studio für die Erweiterung von MS Office Anwendungen. Damit wird der Anschluss ans .NET Framework und die Verwendung von C# zur Programmierung ermöglicht. Als gewiefter Office Nutzer fragst du dich vielleicht, wieso man das braucht, wo man doch VBA verwenden kann. Du fragst natürlich zu recht, denn für viele Aufgaben ist dies weiterhin der einfachste Lösungsweg. Es gibt jedoch verschiedene Anwendungsfälle, wo ein VSTO Add-in einen grossen Mehrwert bietet.
Wichtigste Unterschiede von VSTO zu VBA
- Im Vergleich zu VBA bietet dir VSTO die Möglichkeit, Funktionen direkt in einem neuen Tab im Menu unserer Office Applikation einzufügen. Damit erreichst du eine nahtlose Integration und eine aufgeräumte Benutzeroberfläche. Ein VSTO Add-in erweitert also nicht die Datei (wie VBA), sondern die installierte Anwendung.
- Die Programmierung machst du in Visual Studio und nicht in der Office-Datei. Dadurch verlierst du die Möglichkeit zur Makroaufnahme, dafür bekommst du eine Unmenge an Features des .NET Frameworks und C#.
- Unterstützung von Threads und asynchroner Ausführung
- Mehr Datentypen (Generische Listen, Dictionaries, Tuples, usw.)
- Möglichkeit zur Entwicklung nicht blockierender UI’s
- VBA Updates musstest du als Datei an alle User verteilen. Beim VSTO Add-in hast du verschiedene Möglichkeiten um Updates zur Verfügung zu stellen (siehe Deploy an Office solution).
Erste Schritte zum Excel Add-in
In folgenden Tutorial zeige ich die minimalen Schritte, welche zur Erstellung eines VSTO Add-in’s nötig sind.
- Installiere über den Visual Studio Installer die VSTO Erweiterung.
- Erstelle ein neues Projekt in Visual Studio
- Füge ein neues Menu-Band (Ribbon – Visual Designer) hinzu
- Öffne dein Ribbon über Doppelklick im Solution Explorer und ziehe aus der Toolbox eine neue Gruppe auf dein Ribbon Design. In diese Gruppe kannst einen Button oder weitere Kontroll-Elemente reinziehen.
- Mit F7 gelangst du zur Implementierung, wo bereits die Callbacks für das Laden des Ribbons und deinen Button automatisch erzeugt wurden.
- Deine neue Excel Erweiterung kannst du jetzt bereits in Visual Studio starten und debuggen. Über einen Rechtsklick auf das Projekt und Publish, kannst du dein VSTO-Installationsfile generieren.
Eine detaillierte Einführung findest du hier.
Fazit
VSTO Add-in’s eröffnen dir viele Möglichkeiten um Hilfsmittel zu entwickeln, ohne dass die Nutzer ihre gewohnte Office Umgebung verlassen müssen. Sie machen vor allem da Sinn, wo für mehrere Anwender ein Prozess optimiert werden muss. Da die meisten Leute den Umgang mit Office Produkten gewohnt sind, braucht es keine teuren Schulungen oder zusätzliche Software. Persönlich gefällt mir, dass im Gegensatz zu VBA Bedienelementen der Arbeitsbereich frei bleibt und die zusätzlichen Funktionalitäten sauber im Menu integriert werden können. Aus Entwicklersicht finde ich die Integration und das Debugging in Visual Studio komfortabel. Für C# Entwickler würde ich diese Technologie daher ohne Bedenken Empfehlen.