Menu personalizzati in Google Workspace

Gli script possono estendere alcuni prodotti Google aggiungendo elementi di interfaccia utente che, se selezionato, eseguono una funzione Apps Script. L'esempio più comune è eseguire uno script da una voce di menu personalizzata in Documenti, Fogli e Presentazioni Google o Moduli, ma le funzioni di script possono essere attivate anche facendo clic su immagini e disegni in Fogli Google.

Menu personalizzati in Documenti, Fogli, Presentazioni o Moduli Google

Apps Script consente di aggiungere nuovi menu in Documenti, Fogli, Presentazioni Google, o Moduli, con ogni voce di menu associata a una funzione in uno script. (In Moduli Google, i menu personalizzati sono visibili solo a un editor che apre il modulo per modificarlo, non a un utente che apre il modulo per rispondere.)

Uno script può creare un menu solo se è legati al documento, al foglio di lavoro o al modulo. Per visualizzare il menu quando l'utente apre un file, scrivi il codice del menu all'interno di un onOpen().

L'esempio seguente mostra come aggiungere un menu con una voce seguita da un separatore visivo, poi un sottomenu che contiene un altro elemento. Tieni presente che in Fogli Google, a meno che non utilizzi nuova versione, devi utilizzare la classe addMenu() la sintassi e i sottomenu non sono possibili.) Quando l'utente seleziona voce di menu, una funzione corrispondente apre una finestra di dialogo di avviso. Per maggiori informazioni informazioni sui tipi di finestre di dialogo che puoi aprire, consulta le guida alle finestre di dialogo e alle barre laterali.

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  // Or DocumentApp, SlidesApp or FormApp.
  ui.createMenu('Custom Menu')
      .addItem('First item', 'menuItem1')
      .addSeparator()
      .addSubMenu(ui.createMenu('Sub-menu')
          .addItem('Second item', 'menuItem2'))
      .addToUi();
}

function menuItem1() {
  SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
     .alert('You clicked the first menu item!');
}

function menuItem2() {
  SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
     .alert('You clicked the second menu item!');
}

Un documento, un foglio di lavoro, una presentazione o un modulo può contenere un solo menu con un dato nome. Se lo stesso script o un altro script aggiunge un menu con lo stesso nome, il nuovo menu sostituisce il vecchio. Impossibile rimuovere i menu durante il file è aperto, anche se puoi scrivere la funzione onOpen() per saltare il menu nel futuro se è impostata una determinata proprietà.

Immagini e disegni cliccabili in Fogli Google

Puoi anche assegnare una funzione Apps Script a un'immagine o a un disegno in Fogli Google, purché lo script sia legato allo in un foglio di lavoro. L'esempio seguente mostra come eseguire la configurazione.

  1. In Fogli Google, seleziona la voce di menu Estensioni >. Apps Script per creare un associato al foglio di lavoro.
  2. Elimina il codice nell'editor di script e incolla il codice seguente.

      function showMessageBox() {
        Browser.msgBox('You clicked it!');
      }
    
  3. Torna a Fogli e inserisci un'immagine o un disegno selezionando Inserisci > Immagine o Inserisci > Disegno.

  4. Dopo aver inserito l'immagine o il disegno, fai clic sull'immagine. Un piccolo menu a discesa nell'angolo in alto a destra. Fai clic e scegli Assegna script.

  5. Nella finestra di dialogo visualizzata, digita il nome della funzione Apps Script. che vuoi eseguire, senza parentesi, in questo caso showMessageBox. Fai clic su OK.

  6. Fai di nuovo clic sull'immagine o sul disegno. La funzione viene eseguita.