Puoi realizzare menu personalizzati in modo dinamico nei Fogli Google!
Nel mio video precedente ho mostrato una sintassi semplice di Google Apps Script per aggiungere da codice un nuovo menu che risulterà completamente integrato al menu nativo dei Google Sheets: https://www.youtube.com/watch?v=Yv5lDQWRous
In questo video voglio mostrarti un altro tipo di sintassi con la quale puoi ottenere facilmente un menu in modo dinamico ovvero, puoi definire i nomi delle voci degli elementi e quelli delle funzioni che andranno ad interrogare, direttamente nelle celle di un Foglio Google e richiamarli da codice!
Codice:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheetByName("dynamic_menu");
function onOpen() {
var menuEntities = [];
var range = sh.getRange(2, 1, sh.getLastRow()-1, sh.getLastColumn()).getValues();
var range_len = range.length;
for (i=0; i<range_len;i++) {
element_name = range[i][0];
element_func = range[i][1];
if (element_name == "-") {
menuEntities.push(null);
} else {
menuEntities.push({"name": element_name, "functionName": element_func})
}
}
ss.addMenu("Menu personalizzato", menuEntities);
}
function function1() {
ss.toast("Hai cliccato l'elemento 1");
}
function function2() {
ss.toast("Hai cliccato l'elemento 2");
}
function function3() {
ss.toast("Hai cliccato l'elemento 3");
}
function function4() {
ss.toast("Hai cliccato l'elemento 4");
}
Fammi sapere cosa ne pensi e non dimenticarti di iscriverti al mio canale!
scrivi un commento
Volevo un consiglio per inserire su un menu a discesa creato con convalida dati una voce non presente nell’elenco senza avere un messaggio di error.
Grazie
Ciao Stefano,
può essere utile allo scopo condividere l'errore che stai ricevendo, così da capire come stai cercando di ottenere il risultato e se è una strada percorribile.