Dies ist der zweite Teil der dreiteiligen Blogserie, in der erläutert wird, wie ein Office Add-In erstellt wird. Im ersten Teil wurden die zwei Entwicklungsumgebungen Napa und Visual Studio zur Entwicklung von Office Add-Ins vorgestellt. Hier folgt ein einfaches Beispiel zu jeder der beiden Entwicklungsumgebungen für Word:
Hello World
Bei Napa kann ein SharePoint Add-In oder einer der drei verschiedenen Typen von Office Add-Ins ausgewählt werden (siehe Abbildung 1). In der Auswahl wird angezeigt, in welchen Office-Anwendungen die Office Add-Ins ausgeführt werden können. Nach der Auswahl des Aufgabenbereich-Typs muss der Projektname eingegeben und die Auswahl bestätigt werden. Bei Napa gibt es den Menüpunkt „Run-Optionen“. Hier kann ausgewählt werden, in welcher Office-Anwendung das Add-In laufen soll. Da ist zu sehen, dass das Add-In nur für Excel Online ausgeführt werden kann. Für die anderen Anwendungen wird Visual Studio benötigt. [1] [2]
Abbildung 1: Napa Auswahl eines Add-In Typs
Visual Studio stellt einen eigenen Projekttyp namens „Apps for Office“ bereit, mit dem Office Web Add-Ins entwickeln werden können. Dieser Projekttyp ist generisch für die verschiedenen Typen von Add-Ins (siehe Teil 1 dieser Blogserie) ausgelegt. Die Details dazu wählt man beim Anlegen des Visual Studio Projektes aus. [3]
Add-In-Aufbau
Ein Projekttyp in Visual Studio für ein Office Add-In besteht aus zwei Teilen (siehe Abbildung 2). Eins davon beinhaltet nur das Manifest, das eine XML-Datei ist. Der andere ist eine Webanwendung. [4]
Abbildung 2: Aufbau eines Office Add-In [4]
Das erste Projekt besteht nur aus einer XML-Manifest Datei, die grundlegende Informationen und Berechtigungen über das Add-In enthält. Das zweite Projekt ist eine Webseite, die alle nötigen Dateien für die Darstellung und Logik enthält und irgendwo gehostet werden muss. Um ein Add-In zu erstellen, muss der Entwickler mindestens eine HTML-Webseite und eine Manifest-Datei erstellen. [5]
Die XML-Manifest Datei enthält Informationen wie den Titel, das Icon, die Version, den Hersteller, die ID, eine Beschreibung und ein Standardgebietsschema. Für Inhalts- oder Outlook-Add-Ins können Angaben zu den Standardabmessungen gemacht werden, also wie breit oder hoch das Add-In ist. Bei Outlook-Office-Add-Ins kann nur die Höhe angegeben werden. Zusätzlich werden hier Berechtigungen wie Lesen oder Schreiben im Dokument deklariert. Mit dem Manifest wird festgelegt, ob das Add-In ein Aufgabenbereich-, Inhalts- oder Outlook-Add-In ist. Zusätzlich verweist dieses auf den Webserver, auf welchem das eigentliche Add-In läuft. [5]
In der Webanwendung ist die ganze Logik und Darstellung des Add-In implementiert. Es wird die Office JavaScript-API benutzt. Diese API ist bei manchen Office-Anwendungen, wie z.B. Word Online, sehr eingeschränkt. Im Template von Visual Studio oder Napa ist ein kleines Beispiel vorhanden, in dem das Nötigste vorgeführt wird. [4]
Debugging
Bevor das Add-In ausgeführt wird, ist sicherzustellen, dass die gewünschte Office-Anwendung in Visual Studio ausgewählt ist (siehe Abbildung 3). Dazu muss man das Projekt mit der Manifest-Datei auswählen und über die obere Menüleiste „View“ und „Properties Window“ navigieren. Unter der Eigenschaft „Start Action“ bestimmt man, ob das Add-In in einem Office Desktop Client oder in einem Office Online Client gestartet werden soll. Für Inhalts- und Aufgabereich-Add-Ins kann unter der Eigenschaft „Start Document“ noch eine Office-Anwendung bestimmt werden. [3]
Abbildung 3: Eigenschaften-Fenster (Property Window)
Nicht in allen unterstützen Office-Anwendungen (wie z.B. in Word Online) kann das Add-In von Visual Studio ausgeführt werden. Um ein Add-In in Office Online auszuführen, muss das Add-In in Office 365 (SharePoint) hochgeladen werden, dazu im nächsten Blogartikel mehr. Zum Testen des Office Add-In kann ein kostenloser “Office 365 developer account” für ein Jahr angelegt werden. Dafür muss an dem “Office 365 Developer Programm” teilgenommen werden. [6]
JavaScript-API
Die Office JavaScript-API teilt sich in mehrere APIs auf, die den jeweiligen Add-In-Typ unterstützen (siehe Tabelle 1). Die Freigegebene API kann von allen Web-Add-In Typen verwendet werden. Nicht alle angebotenen Objekte, Methoden, Eigenschaften und Ereignisse können jedoch von allen Web-Add-Ins verwendet werden. So kann z.B. die Rückruffunktion „event.completed“ nur von Outlook benutzt werden. Das Gleiche gilt für die Dokument-API. Sie ist für die Inhalts-und Aufgabenbereich-Add-Ins verwendbar. Die Postfach-API ist hingegen nur für die Outlook-Add-Ins zugänglich. [7]
API | Beschreibung |
Freigegebene API | Der Teil der API, den Sie für alle drei Typen von Office-Add-Ins verwenden können: Inhalts-, Aufgabenbereich- und Outlook-Add-Ins. |
Dokument-API | Der Teil der API, den Sie für zwei Typen von Office-Add-Ins mit Bezug zu Dokumenten verwenden können: Inhalts- und Aufgabenbereich-Add-Ins. |
Postfach-API | Der Teil der API, den Sie für Outlook-Add-Ins verwenden können. |
Tabelle 1: Teil-APIs von Office JavaScipt-API [8]
Neben der Office JavaScript-API, welche alle Office-Anwendungen unterstützt, gibt es noch die Excel- und Word-JavaScript-API. Diese sind jeweils für eine Office-Anwendung gedacht. Die Excel-JavaScript-API soll Microsoft Excel 2016, Excel Online und Excel für iOS unterstützen. Analog dazu ist die Word-JavaScript-API. Zusätzlich wurde das Framework Office UI Fabric veröffentlicht, das für die Gestaltung von Office Add-Ins gedacht ist. Bei den JavaScript-APIs sollte beachtet werden, welche Methoden, Objekte, Eigenschaften und Ereignisse bei den jeweiligen Office-Anwendungen unterstützt werden. Denn wenn Word unterstützt wird, ist damit nicht automatisch auch Word Online gemeint. [8] [9]
In dem nächsten und letzten Blogartikel wird das Publizieren von Add-Ins und den verschiedenen Optionen dazu gezeigt.
[1] https://msdn.microsoft.com/DE-DE/library/office/dn974046.aspx
[2] https://msdn.microsoft.com/DE-DE/library/office/jj554660.aspx
[3] https://msdn.microsoft.com/DE-DE/library/office/dn833106.aspx
[4] https://msdn.microsoft.com/de-de/library/office/jj220082.aspx
[5] https://msdn.microsoft.com/DE-DE/library/office/fp161044.aspx
[6] https://msdn.microsoft.com/DE-DE/library/office/mt619803.aspx
[7] https://msdn.microsoft.com/DE-DE/library/office/fp142185.aspx