Das Schreiben von Firmendokumenten wie Rechnungen oder Verträge kann schnell zu einer zeitfressenden Aufgabe werden, sodass andere wichtige Themen in den Hintergrund gedrängt werden. Zusätzlich schleichen sich leicht Fehler ein, vor allem, wenn Dokumente unter Zeitdruck verfasst werden. Um dem entgegenzusteuern, haben wir untersucht, auf welche Weise eine automatische Generierung solcher Dokumente mit Microsoft Office erreicht werden kann.
eBiz setzt, wie die Mehrzahl der Unternehmen, auf die Office Suite aus dem Hause Microsoft. Um diese zu erweitern, bietet Microsoft verschiedene Modelle an, die unter dem Begriff Office Add-Ins geführt und im Speziellen in die drei folgenden Typen untergliedert werden:
Seit Office 97 lassen sich Office-Anwendungen durch Component Object Model (COM) Add-Ins erweitern. Diese Möglichkeit besteht bis heute, wird aber seit der Einführung der “bequemeren” Visual Studio Tools for Office (VSTO)-Add-Ins selten genutzt.
VSTO-Add-Ins wurden mit Office 2003 eingeführt und erlauben die Entwicklung von Add-Ins unter Verwendung der .NET Plattform und bspw. C# oder VB.NET. Dabei werden aus einer verwalteten Laufzeitumgebung über Primary Interop Assembly (PIA) die Office COM-Schnittstellen verwendet.
Der jüngste Add-In-Typ ermöglicht die Office-Entwicklung mit aktuellen Webtechnologien und ist ab Office 2013 verfügbar. Der Weg soll zukünftig weg vom proprietären Visual Basic for Applications (VBA) und “schwergewichtigen” Add-In-Typen hin zu den weitverbreiteten, webbasierten Sprachen (HTML, CSS, JavaScript usw.) führen. Dazu hat Microsoft eine JavaScript API veröffentlicht und ermöglicht damit die Integration von Web-Inhalten in Office Client-Anwendungen.
Die Wahl des geeigneten Typs ist abhängig von den technischen und fachlichen Anforderungen, die an das Add-In gestellt werden. Auch der Bedarf an zukünftigen, zusätzlichen Features muss abgeschätzt werden, da ein nachträglicher Typen-Wechsel eine Neuimplementierung erfordert.
Ein Office Web-Add-In ist dann gut geeignet, wenn
Aber sie unterliegen auch einigen Einschränkungen, die bei der Entscheidung berücksichtigt werden müssen. So lassen sich beispielsweise nur einfache Vorgänge innerhalb des Dokuments automatisieren, und ein Zugriff auf das Host-System ist gar nicht möglich. Dadurch kann ein Großteil der klassischen Office Automatisierungsthemen nicht bedient werden.
Gerade für diese Themen eigenen sich VSTO- und COM-Add-Ins hervorragend, da sie fast uneingeschränkten Zugriff auf die Host-Anwendung bieten und somit Funktionen der Client-Anwendung aufrufen können. Da sie ein gleichwertiges Objekt-Modell verwenden, fällt eine Entscheidung für oder gegen einen der beiden Typen meist auf technischer Argumentationsbasis. Da VSTO-Add-Ins das modernere Programmierkonzept bieten, gehen sie in der Regel als Präferenz hervor.
Durch die Einschränkungen der JavaScript Office API, insbesondere was das Thema Automation angeht, ist ein Web-Add-In häufig ungeeignet. Dennoch ist dieser Ansatz durchaus vielversprechend und die zukünftige Entwicklung interessant. Eine Roadmap seitens Microsoft wäre jedoch angebracht. Bei komplexen Anforderungen ist es sinnvoll, direkt ein VSTO-Add-In zu verwenden, um nicht über technische Limitierungen von Web-Add-Ins zu stolpern. Diesen Weg haben auch wir eingeschlagen, und wir haben ihn bisher nicht bereut!