Erste Schritte zur Entwicklung von benutzerdefinierten Excel-Funktionen
Mithilfe benutzerdefinierter Funktionen können Entwickler Excel neue Funktionen hinzufügen, indem sie diese in JavaScript oder TypeScript als Teil eines Add-Ins definieren. Excel-Benutzer können auf benutzerdefinierte Funktionen auf die gleiche Weise zugreifen wie auf die nativen Funktionen in Excel (beispielsweise SUM()
).
Voraussetzungen
Node.js (die aktuellsteLTS-Version). Besuchen Sie die Node.js Website , um die richtige Version für Ihr Betriebssystem herunterzuladen und zu installieren.
Die neueste Version von Yeoman und des Yeoman-Generators für Office-Add-Ins. Um diese Tools global zu installieren, führen Sie den folgenden Befehl an der Eingabeaufforderung aus.
npm install -g yo generator-office
Hinweis
Selbst wenn Sie bereits den Yeoman-Generator installiert haben, empfehlen wir Ihnen, das npm-Paket auf die neueste Version zu aktualisieren.
Office in Verbindung mit einem Microsoft 365-Abonnement (einschließlich Office im Internet).
Hinweis
Wenn Sie noch nicht über Office verfügen, können Sie sich über das Microsoft 365-Entwicklerprogramm für ein Microsoft 365 E5-Entwicklerabonnement qualifizieren. Weitere Informationen finden Sie in den häufig gestellten Fragen. Alternativ können Sie sich für eine kostenlose 1-monatige Testversion registrieren oder einen Microsoft 365-Plan erwerben.
Erstellen des ersten Projekts für benutzerdefinierte Funktionen
Verwenden Sie zum Starten den Yeoman-Generator, um das Projekt für benutzerdefinierte Funktionen zu erstellen. So wird Ihr Projekt mit der richtigen Ordnerstruktur, den Quelldateien und Abhängigkeiten eingerichtet, sodass Sie mit der Codierung Ihrer benutzerdefinierten Funktionen beginnen können.
Führen Sie den folgenden Befehl aus, um ein Add-In-Projekt mit dem Yeoman-Generator zu erstellen: Ein Ordner, der das Projekt enthält, wird dem aktuellen Verzeichnis hinzugefügt.
yo office
Hinweis
Wenn Sie den
yo office
-Befehl ausführen, werden möglicherweise Eingabeaufforderungen zu den Richtlinien für die Datensammlung von Yeoman und den CLI-Tools des Office-Add-In angezeigt. Verwenden Sie die bereitgestellten Informationen, um auf die angezeigten Eingabeaufforderungen entsprechend zu reagieren.Wenn Sie dazu aufgefordert werden, geben Sie die folgenden Informationen an, um das Add-In-Projekt zu erstellen:
-
Wählen Sie einen Projekttyp aus:
Excel Custom Functions using a Shared Runtime
-
Wählen Sie einen Skripttyp aus:
JavaScript
-
Wie möchten Sie Ihr Add-In benennen?
My custom functions add-in
Der Yeoman-Generator erstellt die Projektdateien und installiert die unterstützenden Node-Komponenten.
-
Wählen Sie einen Projekttyp aus:
Der Yeoman-Generator erteilt Ihnen in der Befehlszeile einige Anweisungen zum Projekt, aber ignorieren Sie diese und befolgen Sie weiterhin unsere Anweisungen. Navigieren Sie zum Stammordner des Projekts.
cd "My custom functions add-in"
Erstellen Sie das Projekt.
npm run build
Starten Sie den lokalen Webserver, auf dem Node.js ausgeführt wird. Sie können das Add-In für benutzerdefinierte Funktionen in Excel ausprobieren. Möglicherweise werden Sie aufgefordert, den Aufgabenbereich des Add-Ins zu öffnen, dies ist jedoch optional. Sie können weiterhin benutzerdefinierte Funktionen ausführen, ohne den Aufgabenbereich des Add-Ins zu öffnen.
Führen Sie den folgenden Befehl aus, um das Add-In in Excel im Web zu testen. Wenn Sie diesen Befehl ausführen, wird der lokale Webserver gestartet. Ersetzen Sie „{url}“ durch die URL eines Excel-Dokuments auf Ihrem OneDrive oder einer SharePoint-Bibliothek, für die Sie über Berechtigungen verfügen.
Hinweis
Wenn Sie auf einem Mac entwickeln, schließen Sie die {url}
in einfache Anführungszeichen ein. Tun Sie dies nicht unter Windows.
npm run start -- web --document {url}
Es folgen einige Beispiele.
npm run start -- web --document https://contoso.sharepoint.com/:t:/g/EZGxP7ksiE5DuxvY638G798BpuhwluxCMfF1WZQj3VYhYQ?e=F4QM1R
npm run start -- web --document https://1drv.ms/x/s!jkcH7spkM4EGgcZUgqthk4IK3NOypVw?e=Z6G1qp
npm run start -- web --document https://contoso-my.sharepoint-df.com/:t:/p/user/EQda453DNTpFnl1bFPhOVR0BwlrzetbXvnaRYii2lDr_oQ?e=RSccmNP
Wenn Ihr Add-In das Dokument nicht querladen wird, laden Sie es manuell quer, indem Sie die Anweisungen unter Manuelles Querladen von Add-Ins in Office im Web befolgen.
Hinweis
Office-Add-Ins sollten auch während der Entwicklung HTTPS und nicht HTTP verwenden. Wenn Sie aufgefordert werden, ein Zertifikat zu installieren, nachdem Sie einen der folgenden Befehle ausgeführt haben, akzeptieren Sie die Eingabeaufforderung, um das Zertifikat zu installieren, das der Yeoman-Generator bereitstellt. Möglicherweise ist es auch erforderlich, dass Sie Ihre Eingabeaufforderung oder Ihr Terminal als Administrator ausführen, damit die Änderungen vorgenommen werden können.
Wenn Sie zum ersten Mal ein Office-Add-In auf Ihrem Computer entwickeln, werden Sie möglicherweise in der Befehlszeile aufgefordert, Microsoft Edge WebView eine Loopback-Ausnahme zu gewähren ("Localhost-Loopback für Microsoft Edge WebView zulassen?"). Wenn Sie dazu aufgefordert werden, geben Sie ein
Y
, um die Ausnahme zuzulassen. Beachten Sie, dass Sie Administratorrechte benötigen, um die Ausnahme zuzulassen. Sobald dies zulässig ist, sollten Sie nicht zur Eingabe einer Ausnahme aufgefordert werden, wenn Sie Office-Add-Ins in Zukunft querladen (es sei denn, Sie entfernen die Ausnahme von Ihrem Computer). Weitere Informationen finden Sie unter "Wir können dieses Add-In nicht über localhost öffnen", wenn Sie ein Office-Add-In laden oder Fiddler verwenden.
Testen einer vorgefertigten benutzerdefinierten Funktion
Das Projekt für benutzerdefinierte Funktionen, das Sie mithilfe des Yeoman-Generators erstellt haben, enthält einige vordefinierte benutzerdefinierte Funktionen. Diese sind in der Datei ./src/functions/functions.js definiert. Die Datei ./manifest.xml im Stammverzeichnis des Projekts gibt an, dass alle benutzerdefinierten Funktionen zum Namespace CONTOSO
gehören.
Testen Sie in Ihrer Excel-Arbeitsmappe die benutzerdefinierte Funktion ADD
, indem Sie die folgenden Schritte ausführen.
Wählen Sie eine Zelle aus, und geben Sie
=CONTOSO
ein. Beachten Sie, dass das Menü „AutoVervollständigen“ eine Liste mit allen Funktionen im NamespaceCONTOSO
anzeigt.Führen Sie die
CONTOSO.ADD
Funktion mit Zahlen10
und200
als Eingabeparameter aus, indem Sie den Wert=CONTOSO.ADD(10,200)
in die Zelle eingeben und die EINGABETASTE drücken.
Die benutzerdefinierte Funktion ADD
berechnet die Summe der beiden Zahlen, die Sie als Eingabeparameter angeben. Die =CONTOSO.ADD(10,200)
Eingabe sollte das Ergebnis 210 in der Zelle ergeben, nachdem Sie die EINGABETASTE gedrückt haben.
Wenn der CONTOSO
Namespace im Menü "AutoVervollständigen" nicht verfügbar ist, führen Sie die folgenden Schritte aus, um das Add-In in Excel zu registrieren.
Wählen SieStart-Add-Ins> und dann Weitere Einstellungen aus.
Wählen Sie im Dialogfeld Office-Add-Insdie Option Mein Add-In hochladen aus.
Wählen Sie Durchsuchen... aus, und navigieren Sie zum Stammverzeichnis des Projekts, das der Yeoman-Generator erstellt hat.
Wählen Sie die Datei manifest.xml und anschließend Öffnen > Hochladen aus.
Testen Sie die neue Funktion. Geben Sie in Zelle B1 den Text =CONTOSO ein. GETSTARCOUNT("OfficeDev", "Excel-Custom-Functions") und drücken Sie die EINGABETASTE. Das Ergebnis in Zelle B1 sollte die aktuelle Anzahl der Sterne darstellen, die dem Excel-Custom-Functions GithubGitHub-Repository zugewiesen sind.
Wenn Sie den lokalen Webserver beenden und das Add-In deinstallieren möchten, befolgen Sie die entsprechenden Anweisungen:
Führen Sie den folgenden Befehl aus, um den Server zu beenden. Wenn Sie verwendet haben
npm start
, deinstalliert der folgende Befehl auch das Add-In.npm stop
Wenn Sie das Add-In manuell quergeladen haben, lesen Sie Entfernen eines quergeladenen Add-Ins.
Nächste Schritte
Sie haben erfolgreich eine benutzerdefinierte Funktion in einem Excel-Add-In erstellt. Erstellen Sie als Nächstes ein komplexes Add-In mit der Funktion "Streamingdaten". Der folgende Link führt Sie durch die nächsten Schritte im Lernprogramm für ein Excel-Add-In mit benutzerdefinierten Funktionen.
Problembehandlung
Stellen Sie sicher, dass Ihre Umgebung für die Office-Entwicklung bereit ist, indem Sie die Anweisungen unter Einrichten Ihrer Entwicklungsumgebung befolgen.
Einige des Beispielcodes verwenden ES6-JavaScript. Dies ist nicht kompatibel mit älteren Versionen von Office, die das Trident (Internet Explorer 11)-Browsermodul verwenden. Informationen zur Unterstützung dieser Plattformen in Ihrem Add-In finden Sie unter Unterstützen älterer Microsoft-Webviews und Office-Versionen. Wenn Sie noch nicht über ein Microsoft 365-Abonnement für die Entwicklung verfügen, können Sie sich über das Microsoft 365-Entwicklerprogramm für ein Microsoft 365 E5 Entwicklerabonnement qualifizieren. Weitere Informationen finden Sie in den häufig gestellten Fragen. Alternativ können Sie sich für eine kostenlose 1-monatige Testversion registrieren oder einen Microsoft 365-Plan erwerben.
- Der automatische
npm install
Schritt, den Yo Office ausführt, schlägt möglicherweise fehl. Wenn beim Ausführennpm start
von Fehler angezeigt werden, navigieren Sie in einer Eingabeaufforderung zum neu erstellten Projektordner, und führen Sie manuell ausnpm install
. Weitere Informationen zu Yo Office finden Sie unter Erstellen von Office-Add-In-Projekten mithilfe des Yeoman-Generators.
Wenn Sie den Schnellstart mehrmals ausführen, können Probleme auftreten. Wenn der Office-Cache bereits über eine Instanz einer Funktion mit demselben Namen verfügt, erhält Ihr Add-In beim Querladen einen Fehler. Sie können dies verhindern, indem Sie den Office-Cache vor der Ausführung
npm run start
löschen und sicherstellen, dass sie vor dem Neustart des Add-Ins ausgeführt wirdnpm stop
.
Siehe auch
Office Add-ins