I componenti aggiuntivi Editor pubblicati
possono creare voci di menu personalizzate nel menu Estensioni dell'editor. Puoi
inserire un menu dei componenti aggiuntivi utilizzando il
metodo
Ui.createAddonMenu()
e aggiungere elementi utilizzando il
metodo
Menu.addItem(). I menu vengono in genere creati nel metodo onOpen(e) del componente aggiuntivo.
Puoi creare menu dinamici che cambiano in base alle interazioni degli utenti o allo stato del componente aggiuntivo. Tuttavia, i componenti aggiuntivi devono creare un menu iniziale prima che vengano autorizzati dall'utente. Per questo motivo, prima di creare i menu in onOpen(e), devi controllare la
modalità di autorizzazione
del componente aggiuntivo. Non tentare di eseguire alcuna azione
che richieda l'autorizzazione (ad esempio il controllo dello script
Properties)
mentre il componente aggiuntivo è in ScriptApp.AuthMode.NONE. Per ulteriori dettagli sulle modalità di autorizzazione e sul ciclo di vita, consulta la sezione
Ciclo di vita dell'autorizzazione.
L'esempio seguente mostra come creare un menu dei componenti aggiuntivi dinamico per diverse modalità di autorizzazione:
function onOpen(e) {
var menu = SpreadsheetApp.getUi().createAddonMenu(); // Or DocumentApp or SlidesApp or FormApp.
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).
var properties = PropertiesService.getDocumentProperties();
var workflowStarted = 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();
}