Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Benutzerdefinierte Funktionen, die keine freigegebene Runtime verwenden, basieren auf einer reinen JavaScript-Runtime. Diese Laufzeit ist für schnelle Berechnungen optimiert, verfügt aber über weniger APIs.
Wichtig
Beachten Sie, dass benutzerdefinierte Excel-Funktionen auf den folgenden Plattformen verfügbar sind.
- Office im Web
- Office unter Windows
- Microsoft 365-Abonnement
- retail unbefristete Office 2016 und höher
- volumelizenzierte unbefristete/LTSC-Office 2021 und höher
- Office für Mac
Benutzerdefinierte Excel-Funktionen werden derzeit in den folgenden Artikeln nicht unterstützt:
- Office auf dem iPad
- Volumenlizenzierte unbefristete Versionen von Office 2021 oder früher unter Windows
Hinweis
Das einheitliche Manifest für Microsoft 365 unterstützt derzeit keine Projekte für benutzerdefinierte Funktionen. Sie müssen das Add-In-Manifest nur für projekte mit benutzerdefinierten Funktionen verwenden. Weitere Informationen finden Sie unter Office-Add-Ins-Manifest.
Hinweis
Es wird empfohlen, benutzerdefinierte Funktionen mit einer freigegebenen Runtime zu verwenden, es sei denn, Sie haben einen bestimmten Grund, eine freigegebene Runtime nicht zu verwenden. Weitere Informationen zu Runtimes finden Sie unter Runtimes in Office-Add-Ins.
Diese reine JavaScript-Runtime bietet Zugriff auf APIs im Namespace, die OfficeRuntime von benutzerdefinierten Funktionen und dem Aufgabenbereich (der in einer anderen Laufzeit ausgeführt wird) zum Speichern von Daten verwendet werden können.
Anfordern externer Daten
Innerhalb einer benutzerdefinierten Funktion können Sie externe Daten mithilfe einer API wie Fetch oder mithilfe von XmlHttpRequest (XHR) anfordern, einer Web-Standard-API, die HTTP-Anforderungen für die Interaktion mit Servern ausgibt.
Beachten Sie, dass benutzerdefinierte Funktionen beim Erstellen von XmlHttpRequests zusätzliche Sicherheitsmaßnahmen verwenden müssen, sodass dieselbe Ursprungsrichtlinie und einfaches CORS erforderlich sind.
Eine einfache CORS-Implementierung kann keine Cookies verwenden und unterstützt nur einfache Methoden (, POST). Einfache CORS akzeptieren einfache Kopfzeilen mit Feldnamen Accept, Accept-Language, Content-Language. Sie können auch einen Content-Type Header in einfachem CORS verwenden, vorausgesetzt, der Inhaltstyp ist application/x-www-form-urlencoded, text/plainoder multipart/form-data.
Speichern und Zugreifen auf Daten
In einer benutzerdefinierten Funktion, die keine freigegebene Runtime verwendet, können Sie Daten mithilfe des OfficeRuntime.storage-Objekts speichern und darauf zugreifen. Das Storage -Objekt ist ein persistentes, unverschlüsseltes Schlüssel-Wert-Speichersystem, das eine Alternative zu localStorage bietet, die nicht von benutzerdefinierten Funktionen verwendet werden kann, die die reine JavaScript-Runtime verwenden. Das Storage -Objekt bietet 10 MB Daten pro Domäne. Domänen können von mehreren Add-Ins freigegeben werden.
Das Storage Objekt ist eine freigegebene Speicherlösung, was bedeutet, dass mehrere Teile eines Add-Ins auf dieselben Daten zugreifen können. Token für die Storage Benutzerauthentifizierung können z. B. im -Objekt gespeichert werden, da sowohl eine benutzerdefinierte Funktion (unter Verwendung der JavaScript-Runtime) als auch ein Aufgabenbereich (mit einer vollständigen Webview-Runtime) darauf zugreifen kann. Wenn sich zwei Add-Ins dieselbe Domäne teilen (z. B www.contoso.com/addin1. , www.contoso.com/addin2), dürfen sie auch Informationen über das Storage -Objekt hin und her freigeben. Beachten Sie, dass Add-Ins mit unterschiedlichen Unterdomänen unterschiedliche Instanzen von Storage aufweisen (z. B subdomain.contoso.com/addin1. , differentsubdomain.contoso.com/addin2).
Da das Storage Objekt eine freigegebene Position sein kann, ist es wichtig zu beachten, dass es möglich ist, Schlüssel-Wert-Paare zu überschreiben.
Die folgenden Methoden sind für das Storage -Objekt verfügbar.
getItemgetItemssetItemsetItemsremoveItemremoveItemsgetKeys
Hinweis
Es gibt keine Methode zum Löschen aller Informationen (z clear. B. ). Stattdessen sollten Sie removeItems verwenden, um mehrere Einträge zugleich zu entfernen.
OfficeRuntime.storage-Beispiel
Im folgenden Codebeispiel wird die OfficeRuntime.storage.setItem -Methode aufgerufen, um einen Schlüssel und einen Wert in storagefestzulegen.
function StoreValue(key, value) {
return OfficeRuntime.storage.setItem(key, value).then(function (result) {
return "Success: Item with key '" + key + "' saved to storage.";
}, function (error) {
return "Error: Unable to save item with key '" + key + "' to storage. " + error;
});
}
Vergleichen mit freigegebener Runtime
Benötigen Sie eine Benutzeroberflächenintegration oder Office.js Objekte und Ereignisse? Verschieben Sie diese Funktionen in eine freigegebene Runtime.
Nächste Schritte
Erfahren Sie, wie Sie benutzerdefinierte Funktionen debuggen.
Siehe auch
Office Add-ins