Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Veröffentlichte Editor-Add-ons können benutzerdefinierte Menüelemente im Menü Erweiterungen des jeweiligen Editors erstellen. Sie können ein Add-on-Menü mit der Methode Ui.createAddonMenu() einfügen und Elemente mit der Methode Menu.addItem() hinzufügen. Menüs werden in der Regel in der onOpen(e)-Methode des Add-ons erstellt.
Sie können dynamische Menüs erstellen, die sich basierend auf Nutzerinteraktionen oder dem Add-on-Status ändern. Add-ons müssen jedoch ein erstes Menü erstellen, bevor sie vom Nutzer autorisiert werden. Daher müssen Sie den Autorisierungsmodus des Add-ons prüfen, bevor Sie Menüs in onOpen(e) erstellen. Versuchen Sie nicht, Aktionen auszuführen, die eine Autorisierung erfordern (z. B. das Prüfen des Skripts Properties), während sich das Add-on im Status ScriptApp.AuthMode.NONE befindet. Weitere Informationen zu den Autorisierungsmodi und zum Autorisierungslebenszyklus finden Sie unter Autorisierungslebenszyklus.
Das folgende Beispiel zeigt, wie Sie ein dynamisches Add-on-Menü für verschiedene Autorisierungsmodi erstellen:
functiononOpen(e){varmenu=SpreadsheetApp.getUi().createAddonMenu();//OrDocumentApporSlidesApporFormApp.if(e && e.authMode==ScriptApp.AuthMode.NONE){//Addanormalmenuitem(worksinallauthorizationmodes).menu.addItem('Start workflow','startWorkflow');}else{//Addamenuitembasedonproperties(doesn't work in AuthMode.NONE).varproperties=PropertiesService.getDocumentProperties();varworkflowStarted=properties.getProperty('workflowStarted');if(workflowStarted){menu.addItem('Check workflow status','checkWorkflow');}else{menu.addItem('Start workflow','startWorkflow');}//Recordanalytics.UrlFetchApp.fetch('http://www.example.com/analytics?event=open');}menu.addToUi();}
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-31 (UTC)."],[[["Published Editor Add-ons can create custom menu items under the Extensions menu using `Ui.createAddonMenu()` and `Menu.addItem()`, typically within the add-on's `onOpen(e)` method."],["While unpublished add-ons can create top-level menus, it's recommended to use `Ui.createAddonMenu()` for published add-ons to ensure consistent user experience."],["Add-ons must create an initial menu before user authorization and adjust menu items dynamically based on the authorization mode (`ScriptApp.AuthMode`) to avoid errors."],["The provided example demonstrates building a dynamic add-on menu that adapts to different authorization modes, using `ScriptApp.AuthMode.NONE` to control actions requiring authorization."]]],["Editor add-ons create custom menu items under the **Extensions** menu using `Ui.createAddonMenu()` and `Menu.addItem()`, typically within the `onOpen(e)` method. Menus must be defined *before* user authorization, necessitating a check of the add-on's authorization mode. Dynamic menus can change based on user interactions. Actions requiring authorization should not be performed when `AuthMode.NONE`. The provided example shows a dynamic menu construction for different modes, adding either \"Start workflow\" or \"Check workflow status\".\n"]]