JavaScript, HTML, CSS e... !
0 commenti

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):



Menu personalizzato principale e secondario in uno Spreadsheet

Fig. 1 - Menu personalizzato in uno Spreadsheet


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":



punta in alto con google apps script - menu personalizzati

Fig. 2 - Il libro in italiano - Punta in alto con... Google Apps Script - pag 162 e 163


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:

punta in alto con google apps script libro italiano

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.

Tags

Michele Pisani

Michele Pisani

Sviluppatore Javascript ed esperto in Digital Analytics

L'esperienza nel settore Digital Analytics unita ad anni di sviluppo in Javascript ha trovato la massima espressione in Google Apps Script che mi ha permesso, con estrema facilità e poche righe di codice, di realizzare potenti applicazioni interattive e processi automatizzati integrati con i prodotti della G Suite.

Come contattarmi
scrivi un commento

0 Commenti

Non ci sono commenti

Nessuno ha ancora commentato questo articolo, fallo tu per primo!

scrivi un commento

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato.I campi contrassegnati da un * sono obbligatori
Puoi utilizzare i seguenti tag nei commenti:
[bold]testo[/bold] se vuoi evidenziare un testo con il grassetto[code]function helloworld() { }[/code] se vuoi pubblicare una porzione di codice[url]https://www.appsscript.it[/url] se devi riferirti ad un indirizzo web