Freigeben über


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.

  1. 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

    Die Befehlszeilenschnittstelle des Yeoman Office-Add-In-Generators fordert sie für Projekte mit benutzerdefinierten Funktionen auf.

    Der Yeoman-Generator erstellt die Projektdateien und installiert die unterstützenden Node-Komponenten.

  2. 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"
    
  3. Erstellen Sie das Projekt.

    npm run build
    
  4. 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.

    Die Eingabeaufforderung in der Befehlszeile, um Microsoft Edge WebView eine Loopbackausnahme zu ermöglichen.

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.

  1. Wählen Sie eine Zelle aus, und geben Sie =CONTOSO ein. Beachten Sie, dass das Menü „AutoVervollständigen“ eine Liste mit allen Funktionen im Namespace CONTOSO anzeigt.

  2. Führen Sie die CONTOSO.ADD Funktion mit Zahlen 10 und 200 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.

  1. Wählen SieStart-Add-Ins> und dann Weitere Einstellungen aus.

  2. Wählen Sie im Dialogfeld Office-Add-Insdie Option Mein Add-In hochladen aus.

  3. Wählen Sie Durchsuchen... aus, und navigieren Sie zum Stammverzeichnis des Projekts, das der Yeoman-Generator erstellt hat.

  4. Wählen Sie die Datei manifest.xml und anschließend Öffnen > Hochladen aus.

  5. 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

  • Der automatische npm install Schritt, den Yo Office ausführt, schlägt möglicherweise fehl. Wenn beim Ausführen npm startvon Fehler angezeigt werden, navigieren Sie in einer Eingabeaufforderung zum neu erstellten Projektordner, und führen Sie manuell aus npm 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 wird npm stop .

    Eine Fehlermeldung in Excel mit dem Titel „Fehler beim Installieren von Funktionen“. Sie enthält den Text „Dieses Add-In wurde nicht installiert, weil bereits eine benutzerdefinierte Funktion mit demselben Namen vorhanden ist“.

Siehe auch