Macro di Fogli Google

Fogli Google ti consente di registrare le macro che duplicano una serie specifica di interazioni dell'interfaccia utente da te definite. Dopo aver registrato una macro, puoi collegarla a una scorciatoia da tastiera nel formato Ctrl+Alt+Shift+Number. Puoi utilizzare questa scorciatoia per eseguire rapidamente di nuovo i passaggi esatti della macro, in genere in una posizione diversa o su dati diversi. Puoi attivare la macro anche dal menu Estensioni > Macro di Fogli Google.

Quando registri una macro, Fogli Google crea automaticamente una funzione Apps Script (la funzione macro) che replica i passaggi della macro. La funzione macro viene aggiunta a un progetto Apps Script legato al foglio, in un file denominato macros.gs. Nel caso in cui sia già presente un file di progetto associato al foglio con questo nome, viene aggiunta la funzione macro. Inoltre, Fogli Google aggiorna automaticamente il manifest del progetto di script, registrando il nome e la scorciatoia da tastiera assegnati alla macro.

Poiché ogni macro registrata è definita interamente all'interno di Apps Script, puoi modificarla direttamente all'interno dell'editor di Apps Script. Puoi persino scrivere macro da zero in Apps Script o utilizzare funzioni che hai già scritto e trasformarle in macro.

Creare macro in Apps Script

Puoi prendere funzioni scritte in Apps Script e utilizzarle come funzioni macro. Il modo più semplice per eseguire questa operazione consiste nell'importare una funzione esistente dall'editor di Fogli Google.

In alternativa, puoi creare macro all'interno dell'editor di Apps Script nel seguente modo:

  1. Nella UI di Fogli Google, seleziona Estensioni > Apps Script per aprire lo script associato al foglio nell'editor di Apps Script.
  2. Scrivi la funzione macro. Le funzioni macro non devono accettare argomenti e non restituire valori.
  3. Modifica il manifest dello script per creare la macro e collegala alla funzione della macro. Assegnale una scorciatoia da tastiera e un nome univoci.
  4. Salva il progetto dello script. La macro diventa quindi disponibile per l'uso nel foglio.
  5. Testa la funzione macro nel foglio per verificare che funzioni come previsto.

Modificare le macro

Puoi modificare le macro associate a un foglio procedendo nel seguente modo:

  1. Nell'interfaccia utente di Fogli Google, seleziona Estensioni > Macro > Gestisci macro.
  2. Individua la macro da modificare e seleziona > Modifica macro. L'editor di Apps Script si aprirà nel file di progetto contenente la funzione della macro.
  3. Modifica la funzione macro per cambiare il comportamento della macro.
  4. Salva il progetto dello script. La macro diventa quindi disponibile per l'uso nel foglio.
  5. Testa la funzione macro nel foglio per verificare che funzioni come previsto.

Importare funzioni come macro

Se esiste già uno script associato a un foglio, puoi import una funzione nello script come nuova macro e quindi assegnargli una scorciatoia da tastiera. Puoi farlo modificando il file manifest e aggiungendo un altro elemento alla proprietà sheets.macros[].

In alternativa, segui questi passaggi per importare una funzione come macro dall'interfaccia utente di Fogli:

  1. Nell'interfaccia utente di Fogli Google, seleziona Estensioni > Macro > Importa.
  2. Seleziona una funzione dall'elenco visualizzato e fai clic su Aggiungi funzione.
  3. Seleziona per chiudere la finestra di dialogo.
  4. Seleziona Estensioni > Macro > Gestisci macro.
  5. Individua la funzione appena importata nell'elenco. Assegna una scorciatoia da tastiera unica alla macro. Puoi anche modificare il nome della macro qui: il nome per impostazione predefinita è il nome della funzione.
  6. Fai clic su Aggiorna per salvare la configurazione della macro.

Struttura del file manifest per le macro

Il seguente snippet di esempio di file manifest mostra la sezione di un file manifest che definisce le macro di Fogli Google. La sezione sheets del file manifest definisce il nome e la scorciatoia da tastiera assegnati alla macro, nonché il nome della funzione macro.

  {
    ...
    "sheets": {
      "macros": [{
        "menuName": "QuickRowSum",
        "functionName": "calculateRowSum",
        "defaultShortcut": "Ctrl+Alt+Shift+1"
      }, {
        "menuName": "Headerfy",
        "functionName": "updateToHeaderStyle",
        "defaultShortcut": "Ctrl+Alt+Shift+2"
      }]
    }
  }

Per ulteriori dettagli su come vengono creati i manifest delle macro di Fogli, consulta la risorsa del file manifest delle macro di Fogli.

Best practice

Quando crei o gestisci macro in Apps Script, ti consigliamo di attenerti alle seguenti linee guida.

  1. Le macro hanno prestazioni più elevate quando sono leggere. Se possibile, limita il numero di azioni intraprese da una macro.
  2. Le macro sono più adatte per operazioni di archiviazione che devono essere ripetute frequenti con una configurazione scarsa o nessuna. Per altre operazioni, valuta la possibilità di utilizzare una voce di menu personalizzata.
  3. Ricorda sempre che le scorciatoie da tastiera delle macro devono essere univoche e che un determinato foglio può avere solo dieci macro con scorciatoie alla volta. Eventuali macro aggiuntive possono essere eseguite solo dal menu Estensioni > Macro.
  4. Le macro che apportano modifiche a una singola cella possono essere applicate a un intervallo di celle selezionando prima l'intervallo completo e poi attivando la macro. Questo significa che spesso non è necessario creare macro che duplicano la stessa operazione in un intervallo predefinito di celle.

Cosa non è possibile fare

Esistono alcune restrizioni su ciò che puoi fare con le macro:

Utilizzare le macro all'esterno degli script associati

Le macro sono definite in script associati a Fogli Google specifici. Le definizioni delle macro vengono ignorate se definite in uno script autonomo o in un'app web.

Definire le macro nei componenti aggiuntivi di Fogli

Non puoi distribuire definizioni di macro utilizzando un componente aggiuntivo Fogli. Eventuali definizioni di macro in un progetto componente aggiuntivo Fogli vengono ignorate dagli utenti di quel componente aggiuntivo.

Distribuire le macro nelle librerie di script

Non puoi distribuire definizioni di macro utilizzando le librerie di Apps Script.

Utilizzare le macro al di fuori di Fogli Google

Le macro sono solo una funzionalità di Fogli Google e non esistono per Documenti, Moduli o Presentazioni Google.