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

Ich bin ein großer Fan von Script Lab, einer Entwicklungsumgebung zum Prototypen von JavaScript-Anwendungen in Excel, Word und weiteren Office-Anwendungen. Script Lab wurde vom Microsoft Office Extensibility Team entwickelt und steht als Open Source Anwendung bei GitHub bereit.

Script Lab Add-In

Zum Einstieg in Script Lab empfehle ich Ihnen die Lektüre meines Artikels Prototyping von Microsoft Office JavaScript Add-Ins mit Script Lab, wo Sie mehr über die Installation und allgemeine Verwendung von Script Lab in Excel erfahren. Schauen Sie auch bei Script Lab selbst vorbei, wo in englischer Sprache weitere Links und Dokumentationen zu finden sind.

Seit Dezember 2017 ist es möglich, in der Insider-Version von Excel mit JavaScript programmierte, benutzerdefinierte Funktionen aufzurufen. Wie solche JavaScript-Funktionen in Excel eingebunden werden können, habe ich in meinem Artikel zur Preview zu benutzerdefinierten JavaScript-Funktionen in Excel 2016 beschrieben.

Die einzelnen dort aufgeführten Schritte sind jetzt zwar nicht allzu kompliziert, benötigen dann aber einen separaten Editor und einen Server zum Testen. Viel schöner ist es, eine Entwicklungs- und Testumgebung direkt in Excel zur Verfügung zu haben und nicht mit verschiedenen Werkzeugen zu hantieren. Genau hier kommt nun Script Lab ins Spiel.

Read more

Anfang November 2017 hat das Excel-Entwicklerteam bei Microsoft die Preview zu benutzerdefinierten JavaScript-Funktionen in Excel 2016 freigegeben. Die Preview kann derzeit – also Anfang Dezember 2017 – nur in der Insider (Fast) Version von Microsoft Office 2016 verwendet werden. Nutzern der Insider-Version bzw. ehemals Office Insider Fast stehen die neuesten z.B. für Excel verfügbaren Features zur Verfügung.

Benutzerdefinierte JavaScript-Funktion in Excel

In diesem Artikel beschreibe ich, wie Sie eine benutzerdefinierte JavaScript-Funktion für Excel implementieren und wie Sie diese in Excel integrieren.

Read more

Um Office JavaScript-Anwendungen beispielsweise während der Entwicklung lokal zu testen, stellen Ihnen die einzelnen Office-Anwendungen das sogenannte Sideloading zur Verfügung. Hierbei wird ein lokaler Ordner definiert, der dann als Katalog für die Add-Ins dient. In diesem Artikel beschreibe ich, welche Schritte dazu notwendig sind und wie Sie den Ordner in Excel 2016 einbinden.

Jedes Office JavaScript-Add-In erfordert ein sogenanntes Manifest, das letztlich nichts anderes ist, als eine XML-Datei, die verschiedenste Konfigurationsoptionen und Definitionen enthält, wie z.B. eine oder mehrere URLs zum ausführenden Server oder den Host der Anwendung. Beispielsweise sieht das Manifest zu Microsoft Script Lab, einem Open Source Office JS-Add-In von Microsoft, wie folgt aus.

Microsoft Script Lab Manifest

Script Lab erlaubt, JavaScript-Code direkt in Excel, Word & Co. zu schreiben und auszuführen. Eine ausführliche Beschreibung zu Script Lab habe ich in dem Artikel Prototyping von Microsoft Office JavaScript Add-Ins mit Script Lab veröffentlicht. Da Script Lab als Open Source zur Verfügung steht, steht es jedem frei, z.B. neue Features zu implementieren oder sich in einer anderen Art und Weise an dem Projekt zu beteiligen. Zum Testen steht ein Entwickler-Manifest zur Verfügung, das lokal eingebunden werden kann. Für Interessierte steht eine genauere Beschreibung auf der Projektseite zur Verfügung, wie eine vollständige lokale Entwicklungsumgebung für Script Lab eingerichtet werden kann.

Wenn Sie eigene Office JavaScript-Add-Ins entwickeln möchten oder vielleicht eine Anwendung testen und ausprobieren möchten, ermöglicht Ihnen Sideloading genau dies zu tun, ohne dass die Anwendung im Office Store veröffentlicht sein muss. Sideloading ermöglicht Ihnen auch, viele der Programmierbeispiele aus dem Web zu testen. Manchmal kann es sogar vorkommen, dass Microsoft selbst, z.B. im Rahmen von Previews, Add-Ins nur per Sideload zur Verfügung stellt.

Nachfolgend werden die einzelnen Schritte beschrieben, um in Windows 7 bzw. Windows 10 einen Ordner dem Katalog für Web-Add-Ins in Excel 2016 hinzuzufügen. Dies dürfte auch in Excel 2013 möglich sein, wobei zu beachten ist, dass gegebenenfalls einige Bezeichner in Dialogen zu Excel 2016 unterscheiden können.

Read more

Ende 2016 gründete das Microsoft Office Localization Team die Microsoft Language Quality Group bei LinkedIn. Ziel der bis heute bestehenden Gruppe ist, Übersetzungsfehler in den einzelnen Office-Produkten zu sammeln und zu beheben.

Juli 2017 wurde vom demselben Team die Microsoft Office International Gruppe bei der Microsoft Tech Community gegründet, die dasselbe Ziel verfolgt, wie die Gruppe bei LinkedIn. Dies, da einerseits die Plattform zur Tech Community z.B. für die User deutlich bessere Editiermöglichkeiten bietet als LinkedIn, und andererseits nun auch nicht jeder ein Konto bei LinkedIn hat. Die LinkedIn Gruppe ist aber weiterhin verfügbar und wird auch weiterhin gepflegt.

Microsoft Office International Gruppe bei der Tech Community

Seit kurzem werden auch sogenannte Contests von der Gruppe bei der Tech Community veranstaltet, wo man z.B. einen Amazon-Gutschein gewinnen kann. Das Microsoft Team sammelt dabei alle Meldungen und stellt diese im Anschluss zum Contest in Form eines PowerBI-Berichts zur Verfügung – inklusive des aktuellen Status der Fehlerbehebung.

Read more

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.

Read more

Vor einigen Tagen habe ich die neueste Version 1.25 Build 240717 zur Excel-Soccer Ligaverwaltung publiziert. Diese Version enthält einige kleinere kosmetische Korrekturen und kann im Downloadbereich zum Excel-Soccer heruntergeladen werden. Wie gewohnt, steht diese Version auch in Deutsch, Englisch und Französisch zur Verfügung.

Die Excel-Datei steht in einer Leervariante ohne jegliche Spiele und Mannschaften und in einer vorkonfigurierten Variante zur Saison 2017/2018 mit den aktuellen Mannschaften und Spielen für die 1. Bundesliga, die Premier League (England) und die Ligue 1 (Frankreich) zur Verfügung. Zu beachten ist jedoch, dass noch nicht alle Spiele vollständig terminiert sind und sich somit Änderungen ergeben können.

Excel-Soccer Ligaverwaltung

DDie Ligaverwaltung enthält, neben der Verwaltung der Spiele und Platzierungen, ein Tippspiel für bis zu 32 Personen. Beim ersten Aufruf der kostenlosen Excel-Datei, die ohne Makros auskommt, ist den Lizenzbedingungen zuzustimmen, die über das Copyright-Symbol zu erreichen sind.

Um mir das Einpflegen der einzelnen Spiele einfacher zu gestalten, hatte ich eine PowerQuery-Abfrage verwendet, die die aktuellen Spielpläne der einzelnen Ligen von der Website fussballdaten.de abruft. Diese Datei stelle ich hier ebenfalls gerne zur Verfügung. Im Laufe der Zeit müssten sich die Tabellen bei einer Aktualisierung der Abfrage automatisch um die Spielergebnisse ergänzen. Zu beachten ist auch hier, dass zum Zeitpunkt der Erstellung dieser Datei, von der Website nicht alle Spiele korrekt terminiert sind.

Viel Vergnügen beim Tippen :-)

Seit Office 2013 besteht die Möglichkeit, plattformunabhängige Add-Ins für die einzelnen Produkte von Office zu entwickeln. Solche Add-Ins basieren auf HTML, CSS und JavaScript und laufen dann beispielsweise im Gegensatz zu VBA auch im Browser. Für Entwickler stellt Microsoft das Office JavaScript API bereit. Diese Schnittstelle ermöglicht Ihnen, per JavaScript auf die Funktionen von Excel, Word, PowerPoint & Co. zuzugreifen.

Die Einstiegshürde in die Entwicklung von Office JavaScript Add-Ins ist jedoch recht hoch, denn man benötigt dazu nicht nur eine passende Entwicklungsumgebung, sondern muss sich auch in eine Vielzahl an Werkzeugen und Technologien einarbeiten. Viele Einsteiger, wie zum Beispiel reine VBA-Entwickler, stehen vor dem Problem: wie und wo fange ich an? Was geht und was geht nicht? Muss ich jetzt JavaScript, HTML und CSS auf einmal lernen?

Script Lab hat sich zum Ziel gesetzt, genau diese Einstiegshürden zu minimieren und ermöglicht z.B. Prototypen eigener JavaScript-Anwendungen direkt in der Lieblingsanwendung zu erstellen und auszuführen. In Script Lab aufrufbare Beispielanwendungen laden zum Ausprobieren und Lernen ein.

In diesem Artikel werde ich Script Lab vorstellen und aufzeigen, wie man beispielsweise die Formel in einer Zelle aus einer Excel-Tabelle mit JavaScript abfragen und in Englisch übersetzen kann.

Script Lab

Script Lab ist übrigens Open Source und wer mag, kann dem Entwicklerteam Bugs melden oder sogar zum Projekt auf Github beitragen. Die Idee zu Script Lab ist übrigens bei einem Microsoft Garage Hackaton entstanden. Seitdem wird Script Lab von den Entwicklern Michael Zlatkovsky, Bhargav Krishna, Daniel M. Galan, Jakob Nielsen und Michael Saunders laufend weiterentwickelt. Momentan, zum Zeitpunkt der Veröffentlichung dieses Artikels, ist Script Lab nur in Englisch verfügbar.

Read more

Seit einiger Zeit besteht die Möglichkeit, sich am Office 2016 Insider Programm anzumelden. Teilnehmer und Teilnehmerinnen erhalten dann Zugang zu den neuesten Features von Office 2016 bzw. den einzelnen Anwendungen, wie Excel, Word oder PowerPoint. Das Insider-Programm steht Abonnenten von Office 365 Home, Office 365 Personal und Office 365 University zur Verfügung und beinhaltet zwei Stufen. Im sogenannten Insider Slow Ring (zu Deutsch verzögerte Anzeige) werden monatlich über Updates vollständig unterstützte Builds veröffentlicht. Im sogenannten Insider Fast Ring (zu Deutsch Schnellanzeige) werden Updates häufiger veröffentlicht, die dann aber auch nicht unterstützte Builds und manchmal auch Fehler beinhalten.

In der Regel landen die Features aus der Insider-Fast-Version zunächst in der Insider-Slow-Version und werden später auch auf eine Standardinstallation ausgerollt. Deshalb lohnt sich durchaus ein Blick auf die Features der Insider-Fast-Version, um einen Einblick auf zukünftige Features zu erhalten.

Ich nehme dem Programm teil und habe bei mir die Insider-Slow-Version auf meinem Arbeitsrechner laufen und die Insider-Fast-Version in einer virtuellen Maschine installiert. In der aktuellen Insider-Fast-Version von Excel (Version 1703 Build 7920.1000) sind mir heute einige Änderungen aufgefallen, die den Import von externen Datenquellen betreffen.

Änderungen an den Funktionen im Menüband zum Abruf externer Daten

Schauen wir uns dazu zunächst einmal die Anordnung der einzelnen Befehle in einer Standardinstallation von Excel 2016 an. Links von der Gruppe „Abrufen und transformieren“ finden wir eine Schaltfläche zum Abruf externer Daten, der in einer Auswahlliste verschiedene Möglichkeiten anbietet. Diese Befehle entsprechen den Funktionen älterer Excel-Versionen – beispielsweise ruft der Befehl „Aus Text“ den Textimport-Assistenten auf.

In Excel 2016 externe Daten über die ehemaligen Assistenten abrufen

In der Gruppe „Abrufen und transformieren“ selbst befinden sich die seit Excel 2016 vollständig integrierten Befehle zum Abruf von Daten via Power Query. Auch hier findet sich ein Befehl zum Abruf von Daten aus einer Textdatei. PowerQuery stellt jedoch wesentlich vielfältigere und auch performantere Möglichkeiten zum Abruf von Daten zur Verfügung.

In Excel 2016 externe Daten über PowerQuery abrufen

Schauen wir uns nun den Aufbau der Befehle in der Version 1703 (Build 7920.1000), also der aktuellen Insider-Fast-Version von Excel an. Die Schaltfläche „Externe Daten abrufen“ ist weggefallen und neue Schaltflächen, wie „Aus Text/CSV“ oder „Aus dem Web“, sind hinzugekommen.

Änderungen an den Funktionen im Menüband zum Abruf externer Daten

Diese neuen Schaltflächen rufen jedoch nicht die ehemaligen Assistenten auf, sondern die moderneren Assistenten aus PowerQuery.

Legacy-Assistenten wieder reaktivieren

Heißt dies, dass nun die ehemaligen Assisteten vollständig entfallen sind? Nein, die ehemaligen Funktionen lassen sich per Excel-Optionen wieder einblenden. Die Kategorie „Daten“ enthält die neue Gruppe „Legacy-Datenimport-Assistenten anzeigen“, wo sich die einzelnen ehemaligen Assistenten wieder reaktivieren lassen.

Neue Optionen zu den Legacy-Datenimport-Assistenten

Die Befehle tauchen anschließend in einem Untermenü zur Auswahlliste für den Abruf von Daten auf, wie im nachfolgenden Screenshot zu sehen.

Legacy-Datenimport-Assistenten als Untermenü im Menüband

Fazit

Die Umgruppierung erscheint mir sinnvoll, denn das gleichzeitige Anzeigen der ehemaligen und neuen Assistenten fand ich etwas unglücklich. Wer die ehemaligen Assistenten weiterhin nutzen möchte oder muss, mit ein paar Mausklicks lassen diese sich wieder reaktivieren.