Macro di Fogli Google

Fogli Google ti consente di registrare macro che duplicano serie specifiche di interazioni dell'interfaccia utente da te definite. Una volta registrata una puoi collegarla a una scorciatoia da tastiera nel formato Ctrl+Alt+Shift+Number. Puoi usare questa scorciatoia per eseguire rapidamente passaggi macro esatti, in genere in una posizione diversa o in base a dati diversi. Puoi anche attivare la macro dalle estensioni di Fogli Google > Macro.

Quando registri una macro, Fogli Google crea automaticamente uno script di Apps Script (la funzione macro) che replica i passaggi della macro. La macro viene aggiunta a un progetto Apps Script vincolato al foglio, in un file denominato macros.gs. Nel caso in cui un file di progetto associato al foglio con quel nome, la funzione macro vi viene aggiunto. Inoltre, Fogli Google aggiorna automaticamente lo script progetto manifest, registrando il nome e la scorciatoia da tastiera assegnata alla macro.

Poiché ogni macro registrata è definita interamente all'interno di Apps Script, puoi e possono essere modificate direttamente nell'editor di Apps Script. Puoi anche scrivere macro da zero in Apps Script o eseguire funzioni che hai già scritto 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 farlo è importando una funzione esistente dal Editor di Fogli Google.

In alternativa, puoi creare macro all'interno dell'editor di Apps Script seguendo questi passaggi:

  1. Nell'interfaccia utente di Fogli Google, seleziona Estensioni > Apps Script per aprire il script associato al foglio nell'editor di Apps Script.
  2. Scrivi la funzione macro. Le funzioni macro non devono accettare argomenti e restituire nessun valore.
  3. Modifica il manifest dello script. per creare la macro e collegarla alla funzione macro. Assegna al ruolo un indirizzo scorciatoia da tastiera e nome.
  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. Trova la macro da modificare e selezionala. > Modifica macro. Si apre dall'editor di Apps Script al file di progetto contenente la funzione 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 importare una funzione nello script come nuova macro e quindi assegnarla una scorciatoia da tastiera. A tale scopo, procedi nel seguente modo: modificando il manifest e aggiungendo un altro elemento sheets.macros[].

In alternativa, segui questi passaggi per importare una funzione come macro dal UI 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 tastiera univoca scorciatoia per la macro. Puoi anche modificare il nome della macro qui; il nome il valore predefinito è 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 manifest che definisce le macro di Fogli Google. La sezione sheets del file manifest definisce il nome e la scorciatoia da tastiera e 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"
      }]
    }
  }

Consulta la risorsa del file manifest delle macro di Fogli per maggiori dettagli su come vengono creati i manifest delle macro di Fogli.

Best practice

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

  1. Le macro hanno prestazioni più elevate quando sono leggere. Se possibile, limita il numero di azioni compiute da una macro.
  2. Le macro sono più adatte per operazioni di archiviazione che devono essere ripetute spesso con poca o nessuna configurazione. Per altre operazioni, considera utilizzando invece una voce di menu personalizzata.
  3. Ricorda sempre che le macro sono le scorciatoie da tastiera può avere solo dieci macro con scorciatoie alla volta. Qualsiasi altro possono essere eseguite solo dalla sezione Estensioni > Menu Macro.
  4. Le macro che apportano modifiche a una singola cella possono essere applicate a un intervallo celle selezionando prima l'intero intervallo e poi attivando la macro. Ciò 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. Macro vengono ignorate se definite in script autonomo o app web.

Definire le macro nei componenti aggiuntivi di Fogli

Non puoi distribuire le definizioni delle macro utilizzando Componente aggiuntivo di Fogli. Qualsiasi definizione di macro in un file vengono ignorati dagli utenti di quel componente aggiuntivo.

Distribuire le macro nelle librerie di script

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

Utilizzare le macro al di fuori di Fogli Google

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