Estensione di Fogli Google

Google Apps Script ti consente di fare cose nuove e interessanti con Fogli Google. Puoi utilizzare Apps Script per aggiungere menu personalizzati, finestre di dialogo e barre laterali in Fogli Google. Consente inoltre di scrivere funzioni personalizzate per Fogli e di integrarlo con altri servizi Google come Calendar, Drive e Gmail.

La maggior parte degli script progettati per Fogli Google manipola gli array per interagire con le celle, le righe e le colonne di un foglio di lavoro. Se non hai dimestichezza con gli array in JavaScript, Codecademy offre un ottimo modulo di formazione per gli array. Tieni presente che questo corso non è stato sviluppato da Google e non è associato a Google.

Per una rapida introduzione all'utilizzo di Apps Script con Fogli Google, consulta la guida rapida di 5 minuti per Macro, menu e funzioni personalizzate.

Inizia

Apps Script include API speciali che ti consentono di creare, leggere e modificare Fogli Google in modo programmatico. Apps Script può interagire con Fogli Google in due modi ampi: qualsiasi script può creare o modificare un foglio di lavoro se l'utente dispone delle autorizzazioni appropriate per il foglio di lavoro e uno script può anche essere associato a un foglio di lavoro, il che conferisce allo script la capacità speciale di modificare l'interfaccia utente o rispondere all'apertura del foglio di lavoro. Per creare uno script associato, seleziona Estensioni > Apps Script in Fogli Google.

Il servizio Fogli di lavoro considera Fogli Google come una griglia che opera con array bidimensionali. Per recuperare i dati dal foglio di lavoro, devi ottenere l'accesso al foglio di lavoro in cui sono archiviati i dati, ottenere l'intervallo nel foglio di lavoro che contiene i dati e quindi ottenere i valori delle celle. Apps Script facilita l'accesso ai dati attraverso la lettura dei dati strutturati nel foglio di lavoro e la creazione di oggetti JavaScript.

Lettura dei dati

Supponi di avere un elenco di nomi e numeri di prodotto memorizzati in un foglio di lavoro, come mostrato nell'immagine di seguito.

L'esempio seguente mostra come recuperare e registrare i nomi e i numeri di prodotto.

function logProductInfo() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  for (var i = 0; i < data.length; i++) {
    Logger.log('Product name: ' + data[i][0]);
    Logger.log('Product number: ' + data[i][1]);
  }
}

visualizza i log

Per visualizzare i dati registrati, fai clic su Log esecuzione nella parte superiore dell'editor di script.

Scrittura dei dati

Per archiviare dati, ad esempio un nuovo nome e un nuovo numero di prodotto, nel foglio di lavoro, aggiungi il codice seguente alla fine dello script.

function addProduct() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.appendRow(['Cotton Sweatshirt XL', 'css004']);
}

Il codice riportato sopra aggiunge una nuova riga in fondo al foglio di lavoro, con i valori specificati. Se esegui questa funzione, vedrai una nuova riga aggiunta al foglio di lavoro.

Interfacce utente e menu personalizzati

Puoi personalizzare Fogli Google aggiungendo menu, finestre di dialogo e barre laterali personalizzati. Per apprendere le nozioni di base sulla creazione dei menu, consulta la guida ai menu. Per ulteriori informazioni sulla personalizzazione dei contenuti di una finestra di dialogo, consulta la guida al servizio HTML.

Puoi anche collegare una funzione script a un'immagine o a un disegno all'interno di un foglio di lavoro. La funzione viene eseguita quando un utente fa clic sull'immagine o sul disegno. Per ulteriori informazioni, vedi Immagini e Disegni in Fogli Google.

Se prevedi di pubblicare la tua interfaccia personalizzata come parte di un componente aggiuntivo, segui la guida di stile per assicurarti che la tua interfaccia personalizzata sia coerente con lo stile e il layout dell'editor di Fogli Google.

Connessione a Moduli Google

Apps Script ti consente di collegare Moduli Google a Fogli Google tramite i servizi Moduli e Fogli di lavoro. Questa funzionalità consente di creare automaticamente un modulo Google in base ai dati contenuti in un foglio di lavoro. Apps Script ti consente inoltre di utilizzare attivatori, come onFormSubmit, per eseguire un'azione specifica dopo che un utente ha risposto al modulo. Per ulteriori informazioni su come collegare Fogli Google a Moduli Google, prova la guida rapida di 5 minuti sulla gestione delle risposte per i Moduli Google.

Formattazione

La classe Range prevede metodi come setBackground(color) per accedere e modificare il formato di una cella o di un intervallo di celle. L'esempio seguente mostra come impostare lo stile del carattere di un intervallo:

function formatMySpreadsheet() {
  // Set the font style of the cells in the range of B2:C2 to be italic.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var cell = sheet.getRange('B2:C2');
  cell.setFontStyle('italic');
}

Convalida dei dati

Apps Script ti consente di accedere alle regole di convalida dei dati esistenti in Fogli Google o di crearne di nuove. Ad esempio, il seguente esempio mostra come impostare una regola di convalida dei dati che consenta solo numeri compresi tra 1 e 100 per una cella.

function validateMySpreadsheet() {
  // Set a rule for the cell B4 to be a number between 1 and 100.
  var cell = SpreadsheetApp.getActive().getRange('B4');
  var rule = SpreadsheetApp.newDataValidation()
     .requireNumberBetween(1, 100)
     .setAllowInvalid(false)
     .setHelpText('Number must be between 1 and 100.')
     .build();
  cell.setDataValidation(rule);
}

Per maggiori dettagli sull'utilizzo delle regole di convalida dei dati, consulta SpreadsheetApp.newDataValidation(), DataValidationBuilder e Range.setDataValidation(rule)

Classifiche

Apps Script consente di incorporare in un foglio di lavoro grafici che rappresentano i dati in un intervallo specifico. L'esempio seguente genera un grafico a barre incorporato, supponendo che tu disponga di dati grafici nelle celle A1:B15:

function newChart() {
  // Generate a chart representing the data in the range of A1:B15.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var chart = sheet.newChart()
     .setChartType(Charts.ChartType.BAR)
     .addRange(sheet.getRange('A1:B15'))
     .setPosition(5, 5, 0, 0)
     .build();

  sheet.insertChart(chart);
}

Per saperne di più su come incorporare un grafico nel foglio di lavoro, consulta EmbeddedChart e generatori di grafici specifici, ad esempio EmbeddedPieChartBuilder.

Funzioni personalizzate in Fogli Google

Una funzione personalizzata è simile a una funzione integrata di un foglio di lavoro come =SUM(A1:A5), ma il comportamento delle funzioni viene definito con Apps Script. Ad esempio, potresti creare una funzione personalizzata, in2mm(), che converte un valore da pollici a millimetri e poi utilizzare la formula nel foglio di lavoro digitando =in2mm(A1) o =in2mm(10) in una cella.

Per saperne di più sulle funzioni personalizzate, prova la guida rapida di Menu e funzioni personalizzate: 5 minuti o la guida alle funzioni personalizzate più approfondita.

Macro

Le macro sono un altro modo per eseguire codice Apps Script dall'interfaccia utente di Fogli Google. A differenza delle funzioni personalizzate, puoi attivarle con una scorciatoia da tastiera o tramite il menu Fogli Google. Per ulteriori informazioni, vedi Macro di Fogli Google.

Componenti aggiuntivi per Fogli Google

I componenti aggiuntivi sono progetti Apps Script in pacchetti specifici che vengono eseguiti all'interno di Fogli Google e possono essere installati dallo store dei componenti aggiuntivi di Fogli Google. Se hai sviluppato uno script per Fogli Google e vuoi condividerlo con il mondo, Apps Script ti consente di publish come componente aggiuntivo in modo che altri utenti possano installarlo dallo store dei componenti aggiuntivi.

Trigger

Gli script associati a un file di Fogli Google possono utilizzare attivatori semplici come le funzioni onOpen() e onEdit() per rispondere automaticamente quando un utente con accesso in modifica al foglio di lavoro apre o modifica il foglio di lavoro.

Come i semplici trigger, gli attivatori installabili consentono a Fogli Google di eseguire automaticamente una funzione quando si verifica un determinato evento. Gli attivatori installabili, tuttavia, offrono una maggiore flessibilità rispetto ai semplici attivatori e supportano i seguenti eventi: apertura, modifica, modifica, invio di modulo e temporizzato (orologio).