Menu a due livelli
Menu personalizzati in SpreadsheetApp e DocumentApp con Google Apps Script
I menu personalizzati sono un modo per arricchire Spreadsheets e Documents di funzionalità aggiuntive gestibili direttamente dall'interfaccia utente. Con il loro inserimento è possibile eseguire codici di Google Apps Script, definiti come bound-script, in modo che ogni voce di menu, una volta cliccata, esegua la relativa funzione al fine di svogliere, solitamente, particolari operazioni non presenti nativamente (o non presenti in modo performante per gli scopi del momento) per automatizzare processi che altrimenti richiederebbero noiosi e meccanici interventi manuali.
La generazione dei menu personalizzati è molto semplice, tuttavia prima di iniziare faccio alcune brevi premesse per chiarirne il loro funzionamento e la loro gestione:
- La prassi maggiormente utilizzata, e più veloce, è quella di creare i menu con la funzione onOpen() all'interno del bounde-script, tuttavia essi possono essere creati anche tramite un trigger o un evento (ad esempio, è possibile utilizzare una voce di menu per creare un altro menu, può essere il caso di menu che generano funzionalità aggiuntive una volta sbloccate).
- I menu non possono essere creati dinamicamente, inoltre, una volta lanciati, è possibile modificarne i nomi delle voci ma non le funzioni, ovvero le funzioni chiamate da ciascuna voce di menu devono essere definite in anticipo e non possono ricevere argomenti. Un workaround per utilizzare funzioni che ricevono parametri in modo dinamico è quello di utilizzare la classe PromptResponse in caso di DocumentApp o il valore della cella attiva in caso di SpreadsheetsApp.
- I menu possono essere modificati, ovvero possono essere sostituiti con un'istanza aggiornata che porta lo stesso nome di menu. Questo significa che ogni volta che viene utilizzata il metodo .createMenu() per creare un menu con un nome già utilizzato, il metodo .addToUi() sostituirà il menu originale con il nuovo menu (ed eventuali submenu).
- I menu non possono essere eliminati.
Dopo queste premesse passiamo ad un esempio di generazione di un menu personalizzato, in uno Spreadsheet, che contiene a sua volta un menu di secondo livello. Il risultato che vogliamo ottenere è il seguente (Fig. 1):
Per ottenere il risultato dell'immagine di cui sopra è necessario aprire uno Spreadsheet e dalla barra dei menu selezionare "Tools -> Script editor..."...
Altre informazioni relative ai menu personalizzati in Google Apps Script continuano nel mio libro "Punta in alto con... Google Apps Script":
Troverai altre informazioni sui menu personalizzati di Apps Script come:
- creazione di un menu con sottomenu;
- aggiunta di elementi e separatori alle liste di menu;
- creazione di un menu con metodi alternativi;
- menu per le add-ons;
- tutta una serie di informazioni e dettagli utili.
...E QUESTO È SOLO QUANTO RIFERITO AI MENU PERSONALIZZATI IN APPS SCRIPT!
ACQUISTA ORA IL LIBRO SU AMAZON:
Se sei pronto a diventare un esperto nella programmazione in Google Apps Script non posso fare altro che augurarti una buona lettura e soprattutto... Buon divertimento!
Per chi fosse interessato segnalo che, oltre all'inserimento di menu personalizzati, è possibile in pochi passaggi inserire nel corpo di uno Spreadsheet un bottone personalizzato ed assegnargli al click una funzione in Apps Script.
Nell'articolo "Interagire con i Google Forms tramite Google Apps Script" è invece presente la realizzazione di un menu personalizzato all'interno dei Form di Google con la finalità di attivare una funzione per la creazione di una piccola interfaccia utente integrata nell'interfaccia UI standard.
Non ci sono commenti
Nessuno ha ancora commentato questo articolo, fallo tu per primo!
scrivi un commento