(C) 2009 - 2021 by Mourad Louha · Alle Rechte vorbehalten

Eigene Script Lab Scripte in Office Online testen

Vor einiger Zeit hatte ich in diesem Artikel Prototyping von Microsoft Office JavaScript Add-Ins mit Script Lab ein Office JavaScript Add-In vorgestellt und aufgezeigt, wie mit dem Add-In z.B. Prototypen eigener Office JS Anwendungen erstellt werden können. Script Lab ist ein Open Source Projekt einiger Microsoft Mitarbeiter aus dem Extensibility Team. Das Projekt zu Script Lab ist bei GitHub zu finden. Wenn Sie Script Lab noch nicht kennen, empfehle ich, den zuvor genannten Artikel zu lesen.

Ich hatte dem Entwicklerteam bei Microsoft angeboten, dieses bei einer Übersetzung in Deutsch zu unterstützen. Vor wenigen Tagen ist nun eine erste lokalisierte Version erschienen. Bei der Gelegenheit möchte ich auch dem Team bei Microsoft herzlichst danken, denn es waren ja nicht nur die Texte zu übersetzen, sondern es musste auch der Code modifiziert werden. Diese Code-Änderungen haben nun auch den Nebeneffekt, dass Script Lab auch in weitere Sprachen relativ einfach übersetzt werden kann.

Script Lab in Deutsch

Die Version 1.1.0 vom 27. Juli 2017 zeigt allerdings noch nicht alle Elemente in Deutsch an. So sind die Befehle im Menüband noch in Englisch zu sehen. Dies ist dem Entwicklerteam jedoch bekannt und wird in Kürze behoben. Der Screenshot hier oben zeigt meine Entwicklerversion, wo die Menübefehle bereits in Deutsch erscheinen. Die Beispieldateien wurden übrigens nicht übersetzt und dies ist auch nicht vorgesehen.

Nebenbei, Script Lab steht zudem auch in Spanisch zur Verfügung. Das Entwicklerteam ist auf der Suche nach weiteren Übersetzungen. Wenn Sie beispielsweise Französisch beherrschen und das Team unterstützen möchten, posten Sie einfach eine Anfrage in der Rubrik Issues in GitHub. Wie eine solche Übersetzung von statten geht, wird auf der Startseite des Projekts in dem Dokument Translating.md beschrieben.

Nach diesem kleinen Exkurs, nun aber zurück zum Zweck dieses Artikels: in Script Lab lassen sich eigene Scripte exportieren, sodass diese wie ein Add-In in Office-Online ausgeführt und von Ihnen oder auch anderen Personen getestet werden können. In diesem Artikel zeige ich auf, wie Sie dies für Excel-Online durchführen und was dabei zu beachten ist. Analog lässt sich dies natürlich auch mit Word oder PowerPoint machen.

Testszenarien für Ihre Script Lab Scripte

Angenommen, Sie haben einen Prototyp zu einer JavaScript-Anwendung z.B. für Excel erstellt und möchten diesen nun in Office-Online testen. Als Entwickler werden Sie sicherlich Script Lab auch in Office Online installiert haben, um Ihren Code zu testen. Da Sie in Script Lab eigene Scripte in GitHub-Gists exportieren und wieder importieren können, sind diese Art von Tests recht einfach durchzuführen.

Was aber, wenn Sie Ihr zukünftiges Add-In testen in Office Online möchten und Script Lab nicht installiert ist? Oder, wenn Sie Kollegen oder Freunde bitten möchten, Ihr Tool zu testen und diese dabei möglichst wenig Aufwand für die Installation und den Aufruf Ihres Add-Ins haben sollen?

Für dieses Szenario ist eine in Script Lab speziell implementierte Exportfunktion vorgesehen, die im nächsten Abschnitt erläutert wird. Damit Ihr Script in Office Online wie ein echtes Add-In ausgeführt werden kann, wird zudem eine Website benötigt. Sie haben hierbei die Wahl, eine eigene sichere Domain oder eine in Azure erstellte Website zu verwenden. Für den Fall, dass Sie Azure verwenden möchten, zeige ich Ihnen, wie Sie am schnellsten eine solche in Azure anlegen und das Script dort hochladen.

Ein Script Lab Script exportieren

Der Export eines Scriptes, sei es Ihr eigenes oder eines der Beispiele, ist sehr einfach: rufen Sie in einem ersten Schritt den Aufgabenbereich zum Code-Editor über den entsprechenden Befehl aus dem Menüband auf. Öffnen Sie anschließend Ihr Script und wählen Sie den Befehl Zur Veröffentlichung exportieren aus dem Menü zum Teilen auf. Im nachfolgenden Screenshot habe ich das Beispielscript Report generation ohne jegliche Modifikation ausgewählt.

Script Lab Script exportieren

Sobald Sie den Befehl zum Export ausgelöst haben, erscheint der Download-Dialog des Internet Explorers um den Export zu speichern, da Script Lab sich wie eine Website verhält. Speichern Sie die Datei in einem beliebigen Ordner Ihrer Wahl, der am besten leer sein sollte.

Script Lab Script Exportdatei speichern

Die Datei wird als Zip-Datei abgelegt. Entpacken Sie diese Datei z.B. in denselben Ordner und löschen Sie anschließend die Zip-Datei. Es verbleiben insgesamt 4 Dateien in dem Ordner.

Script Lab Exportdatei entpacken

Die Readme-Datei enthält einige Informationen und Anweisungen zum Inhalt und Umgang mit den anderen Dateien. Die HTML-Datei und die XML-Datei, ein sogenanntes Manifest, werden wir später noch zum Hochladen benötigen. Die YAML-Datei kann dazu verwendet werden, den Code in Script Lab wieder zu importieren, zum Beispiel auf einem anderen Rechner.

Eine eigene sichere Domain verwenden

Um das Script in Excel-Online laufen lassen zu können, benötigen Sie eine Domain, über die das Script aufgerufen werden kann. Diese Domain sollte verschlüsselt über das HTTPS-Protokoll aufrufbar sein. Mein Excel-Formel-Übersetzer wird beispielsweise über dieses Protokoll aufgerufen.

Sollten Sie eine unverschlüsselte Domain verwenden, erhalten Sie später in Excel-Online eine Warnung Ihres Browsers, dass die Seite unsichere Scripts enthält. In meinen Tests war es zwar durchaus möglich, das Script zum Laufen zu bringen, wenn man dies explizit erlaubt, dennoch ist davon abzuraten.

Sollten Sie bereits über eine eigene sichere Domain verfügen, laden Sie die HTML-Datei aus Ihrem Ordner z.B. mit FileZilla per FTP auf die Domain hoch. Bei meinen Tests habe ich für das Script eine, ebenfalls sichere, eigene Subdomain erstellt. Sie können aber auch einen Unterordner innerhalb Ihrer Domain verwenden. Merken Sie sich anschließend die URL zu der Domain, z.B. https://meinedomain.de/scriplab. Das war’s hier auch schon.

Eine sichere Website mit Microsoft Azure erstellen

Wenn Sie ein Abonnement bei Microsoft Azure besitzen und das Script statt von einer eigenen Domain lieber aus Azure heraus aufrufen möchten, gehen Sie wie folgt vor.

Loggen Sie sich in Microsoft Azure ein und erstellen Sie eine neue Website, indem Sie im Menü den Befehl Neu / Web und Mobil / Web App auswählen. Selbstverständlich können Sie auch eine bereits bestehende Website auswählen. In einem solchen Fall, überspringen Sie den Teil zur Erstellung der Website in Azure.

Website-Server in Microsoft Azure anlegen (1)

Geben Sie anschließend einen App-Namen für Ihre Anwendung ein und achten Sie darauf, dass der Name noch frei ist. Wählen Sie zudem einen Service-Plan aus bzw. erstellen Sie einen neuen Service-Plan. Beachten Sie dabei, dass je nach Auswahl eines Service-Plans ab den Basic-Versionen und höher, Kosten auf Sie zukommen können.

Azure stellt jedoch auch die Service-Pläne F1 (Free) und D1 (Shared) zur Verfügung, die kostenlos sind. Diese Pläne sind ideal für das Experimentieren mit der Plattform sowie für Entwicklungs- und Testszenarien. Ein späterer Wechsel in einen höhren, kostenpflichtigen, Plan ist jederzeit möglich.

Website-Server in Microsoft Azure anlegen (2)

Nachdem Sie alle Daten angegeben haben, klicken Sie auf Erstellen im unteren Bereich des Fensters und setzen Sie gegebenenfalls den Haken zu der Option An Dashboard anheften, um vom Dashboard direkt auf die Einstellungen der Website zugreifen zu können. Wechseln Sie nun zu diesen Einstellungen für die Website, die sich in der Übersicht wie folgt präsentiert.

Einstellungen zum Website-Server in Microsoft Azure

Merken Sie sich die URL zu der Website, die in dieser Ansicht rechts oben angegeben ist. Falls dort nur die HTTP-Version der Url angezeigt wird, keine Sorge: die Url funktioniert jedoch auch als sicherer Aufruf über HTTPS. Um nun die HTML-Datei aus Ihrem Ordner zu der Website hochzuladen, bestünde z.B. die Möglichkeit, einen FTP-User einzurichten und dann die Datei per FTP hochzuladen. Zu kompliziert, es geht viel einfacher: wählen Sie im Menü links den Eintrag Erweiterte Tools aus der Kategorie Entwicklungstools.

Entwicklungstools für einen Website-Server bei Azure

Folgen Sie dem Link Gehe zu. Sie gelangen zu den sogenannten Kudo-Tools, von wo aus Sie den Befehl Debug Console / CMD wählen. Die nun erscheinende Ansicht beinhaltet eine Ordnerliste mit den drei Einträgen data, LogFiles und site. Klicken Sie auf site sowie anschließend auf wwwroot. Damit befinden Sie sich nun im Wurzelordner Ihrer Website. Ziehen Sie anschließend die HTML-Datei aus dem Windows-Explorer in die Browser-Ansicht, um die Datei hochzuladen. Fertig.

Konsole zum Website-Server bei Azure

Manifest anpassen

Damit das Script später in Excel-Online die richtige URL findet, muss diese in das Manifest eingetragen werden. Öffnen Sie die XML-Datei in einem Editor, wie beispielsweise Notepad++, den ich sehr empfehlen kann. Ersetzen Sie anschließend all Vorkommen von https://<INSERT-URL-HERE> durch Ihre URL, also z.B. durch https://ihredomain.de/ordner oder, wenn Sie Azure verwenden, durch sich sichere URL https://ihrvergebenername.azurewebsites.net. Schließen Sie Ihre URL nicht durch einen Slash (/) ab.

Script Lab Manifest

Das Script wird später in Excel-Online einen Befehl im Menüband anlegen. Wenn Sie möchten, dass dieser in Deutsch erscheint, tauschen Sie die Zeichenfolge DefaultValue=“Report generation“ z.B. durch DefaultValue=“Berichtserstellung“ aus.

Script in Excel Online ausführen

Es ist fast geschafft, da nur noch das Laden des Scriptes in Excel-Online notwendig ist. Dies ist recht einfach: Rufen Sie OneDrive in Ihrem Browser auf und erstellen Sie eine neue Excel-Arbeitsmappe im Browser.

Navigieren Sie anschließend zum Reiter Einfügen und wählen Sie den Befehl Office-Add-Ins. Klicken Sie in dem Dialogfenster auf den Eintrag Meine Add-Ins verwalten und wählen Sie aus der Auswahlliste den Befehl Mein Add-In hochladen. Geben Sie die XML-Datei zum Manifest aus Ihrem Ordner an und laden Sie die Datei hoch.

Add-In in Excel Online hochladen

Sobald dieser Vorgang abgeschlossen ist, steht Ihnen ein neuer Befehl unter dem Menüband-Reiter Add-Ins zur Verfügung. Folgender Screenshot zeigt das Ergebnis des Scripts nach dessen Ausführung.

Add-In in Excel Online ausführen

Übrigens, genau nur diesen Schritt müssen Ihre Tester durchführen. Wenn Sie somit beispielsweise Ihre Freunde einladen, Ihr Add-In zu testen, senden Sie Ihnen die XML-Datei mit dem Manifest zu und bitten Sie sie, die Datei bei sich in Office Online einzubinden.

Updates Ihrer Scripte

Im Laufe der Entwicklung Ihres Add-Ins werden Sie sicherlich ab und an eine neue Version mit z.B. Fehlerkorrekturen oder neuen Features publizieren müssen.

Um eine Aktualisierung des Add-Ins durchzuführen reicht es aus, Ihr Script via Script Lab erneut zu exportieren und nur die neu generierte HTML-Datei auf Ihren Server hochzuladen. Ihre Testuser brauchen in diesem Fall nichts zu tun und die von Ihnen am Code vorgenommenen Änderungen stehen sofort zur Verfügung.

Eine manuelle Aktualisierung der XML-Datei zum Manifest ist normalerweise nicht notwendig und eher eine Ausnahme, z.B. wenn Sie in der XML-Datei enthaltene Informationen manuell ergänzen möchten. In einem solchen Fall müssten Ihre Testuser die XML-Datei erneut bei sich in Office Online einbinden. Damit jedoch Office Online die neue Version nicht als neues Add-In, sondern als Update erkennt, müssen Sie zusätzlich in der XML-Datei die GUID auf den Wert Ihres vorherigen Exports setzen.

GUID und Version im XML-Manifest

Add-In wieder aus Excel-Online entfernen

Nachdem Sie vielleicht einige Scripte in Excel-Online getestet haben, stellt sich die Frage, wie Sie oder Ihre Userdas Add-In aus Office Online diese wieder entfernen können. Leider gibt es wohl dazu keinen expliziten Befehl. Die hinzugefügten Add-Ins werden meines Wissens im Browsercache abgelegt. Um somit die Scripte bzw. Add-Ins wieder zu entfernen, soll normalerweise der Browsercache gelöscht werden, was bei mir im Internet Explorer allerdings nur dann funktionierte, wenn zusätzlich auch die Cookies gelöscht wurden. ebenbei, zum Löschen des Browsercache lässt sich in vielen Browsern die Tastenkombination Strg + Umschalt + Entf verwenden. Insofern habe ich zum Testen meiner Scripte einen Browser verwendet, den ich sonst nicht so oft benötige.

Fazit

Mit der Funktion zum Exportieren der Code-Schnipsel aus Script Lab heraus, besteht eine recht einfache Möglichkeit, eigene Scripte in Excel Online zu testen, ohne dass Script Lab installiert sein muss. Dadurch besteht auch die Möglichkeit, dass Ihre Kollegen oder Freunde Ihr Script wie ein echtes Add-In testen können.

Neben dem Export des Scripts, wird eine eigene sichere Domain oder eine sichere Domain bei Microsoft Azure benötigt, wo Sie die HTML-Datei zu Ihrem Script ablegen. Einmal die Domain eingerichtet, benötigt es nur wenige Schritte, um die Anpassungen im Manifest vorzunehmen und das Script in Office Online hochzuladen bzw. an Ihre Testuser zu verteilen.

Eine Aktualisierung Ihres Add-Ins können Sie im Normalfall sehr einfach vornehmen, indem Sie nur die HTML-Datei auf Ihrem Server austauschen.

Happy coding!

 
Comments

Hallo,

dieser Artikel wurde am 6. August 2017 aktualisiert und um neue Inhalte ergänzt. So sind die Absätze zu den Testszenarien und zur Versionierung und Updates von Scripten hinzugekommen. Zudem sind einige kleinere Korrekturen, wie Tippfehler erfolgt.

Happy coding :-)

Hallo,

ich habe am 7. August 2017 ein weiteres Update vorgenommen, da der Artikel die Information enthielt, dass F1-Pläne bei Azure keine sicheren URL’s zur Verfügung stellen würden. Dies war inkorrekt. Eine Website in Azure, die auf dem Service-Plan F1 fusst, kann sehr wohl mit dem HTTPS-Protokoll aufgerufen werden. An dieser Stelle, vielen Dank für den Hinweis an einen aufmerksamen Leser.

Eine weitere Änderung betrifft die Aktualisierung eines Scripts, die im Normalfall nur den Austausch der HTML-Datei bedeutet. Und, am 7. August 2017 wurde eine aktualisierte Version von Script Lab im Store publiziert, die beim Export die Add-Ins in Office Online im Menüband nun nicht unter „Start“ anzeigt, sondern den eigenen Reiter „Add-Ins“ verwendet.

Happy coding :-)

Trackbacks for this post