Menus personalizados para complementos do editor
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Os complementos do Editor
publicados podem criar itens de menu personalizados no menu Extensões do editor. Insira um menu de complementos usando Ui.createAddonMenu e adicione itens a ele com Menu.addItem. Os menus geralmente são criados no método onOpen do complemento.
Crie menus dinâmicos que mudam com base nas interações do usuário ou no estado do complemento. No entanto, os complementos precisam criar um menu inicial antes de serem autorizados pelo usuário. Por isso, verifique o
modo de autorização do complemento
antes de criar menus em onOpen. Não realize nenhuma ação que
exija autorização (como verificar as
Properties do script) enquanto o
complemento estiver em ScriptApp.AuthMode.NONE. Consulte o
ciclo de vida de autorização
para mais detalhes sobre os modos e o ciclo de vida de autorização.
Tentar realizar ações que exigem autorização quando o modo de autorização é ScriptApp.AuthMode.NONE resulta em um erro. Isso pode impedir que os menus de complementos sejam exibidos.
O exemplo a seguir mostra como criar um menu de complementos dinâmico para diferentes modos de autorização:
functiononOpen(e){// Or DocumentApp, SlidesApp, or FormApp.varmenu=SpreadsheetApp.getUi().createAddonMenu();if(e && e.authMode==ScriptApp.AuthMode.NONE){// Add a normal menu item (works in all authorization modes).menu.addItem('Start workflow','startWorkflow');}else{// Add a menu item based on properties (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');}// Record analytics.UrlFetchApp.fetch('http://www.example.com/analytics?event=open');}menu.addToUi();}
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2026-03-28 UTC."],[],["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"]]