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 a Fogli Google. Inoltre, consente di scrivere funzioni personalizzate di Fogli Google, oltre a integrare Fogli Servizi Google come Calendar, Drive e Gmail.
La maggior parte degli script progettati per Fogli Google manipola gli array per interagire con celle, righe e colonne di un foglio di lavoro. Se non hai familiarità con gli array in JavaScript, Codecademy offre un ottimo modulo di formazione sugli array. Tieni presente che questo corso non è stato sviluppato da e non è associato a Google.
Per una rapida introduzione all'uso di Apps Script con Fogli Google, consulta le 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 in modo programmatico i fogli Google. Apps Script può interagire con Fogli Google in due modi modi: qualsiasi script può creare o modificare un foglio di lavoro se l'utente dello script ha le autorizzazioni appropriate per il foglio di lavoro. Inoltre, è possibile associati a un foglio di lavoro, che assegna allo script capacità speciali per modificare l'interfaccia utente o rispondere quando viene aperto il foglio di lavoro. Per creare uno script associato, seleziona Estensioni > Apps Script dall'interno in Fogli Google.
Il servizio Fogli di lavoro tratta Google Fogli come griglia, che opera con array bidimensionali. Per recuperare i dati dal foglio di lavoro, devi avere accesso al foglio di lavoro in cui si trovano i dati archiviati, recupera l'intervallo nel foglio di lavoro che contiene i dati e quindi recupera valori delle celle. Apps Script facilita l'accesso ai dati leggendo dati strutturati nel foglio di lavoro e creando oggetti JavaScript corrispondenti.
Lettura dei dati
Supponi di avere un elenco di nomi e numeri di prodotto in cui archivi foglio di lavoro, come mostrato nell'immagine di seguito.
L'esempio seguente mostra come recuperare e registrare i nomi di prodotto e il prodotto numeri.
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 che sono stati registrati, fai clic nella parte superiore dell'editor di script Log Execution (Esecuzione).
Scrittura dei dati
Per archiviare dati quali il nome e il numero di un nuovo prodotto nel nel foglio di lavoro, aggiungi il seguente codice alla fine dello script.
function addProduct() {
var sheet = SpreadsheetApp.getActiveSheet();
sheet.appendRow(['Cotton Sweatshirt XL', 'css004']);
}
Il codice riportato sopra aggiunge una nuova riga nella parte inferiore del foglio di lavoro, con i valori specificati. Se esegui questa funzione, vedrai una nuova riga aggiunta in un foglio di lavoro.
Menu e interfacce utente personalizzati
Puoi personalizzare Fogli Google aggiungendo menu, finestre di dialogo e barre laterali. Per apprendere le nozioni di base sulla creazione dei menu, consulta la sezione guida ai menu. Per scoprire di più sulla personalizzazione contenuto di una finestra di dialogo, consulta guida al servizio HTML.
Puoi anche collegare una funzione di 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 disegno. Per scoprire di più, vedi Immagini e Disegni in Fogli Google.
Se prevedi di pubblicare la tua interfaccia personalizzata in una componente aggiuntivo, segui le guida di stile per garantire la coerenza con stile e layout dell'editor di Fogli Google.
Connessione a Moduli Google
Apps Script ti consente di collegare Moduli Google a Fogli Google tramite
Moduli e
Servizi per fogli di lavoro. Questa funzionalità consente di creare automaticamente un modulo Google in base ai dati di un foglio di lavoro.
Apps Script ti consente inoltre di utilizzare attivatori, come
onFormSubmit
per eseguire un'azione specifica dopo che l'utente ha risposto al modulo.
Per scoprire di più su come collegare Fogli Google a Moduli Google, prova il
Risposte per Moduli Google Guida rapida in 5 minuti.
Formattazione
La classe Range
offre metodi come
setBackground(color)
per accedere e modificare il formato di una cella o di un intervallo di celle. Le seguenti
esempio 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 creare nuove regole. Ad esempio, l'esempio seguente mostra come impostare una regola di convalida dei dati che consenta solo numeri compresi tra 1 e 100 in 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 ulteriori dettagli sull'utilizzo delle regole di convalida dei dati, consulta
SpreadsheetApp.newDataValidation()
,
DataValidationBuilder
,
e Range.setDataValidation(rule)
Grafici
Apps Script ti 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 abbia 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,
vedi EmbeddedChart
e
per la creazione di grafici specifici,
EmbeddedPieChartBuilder
.
Funzioni personalizzate in Fogli Google
Una funzione personalizzata è simile a una
funzione integrata dei fogli di lavoro come =SUM(A1:A5)
, ad eccezione del fatto che devi definire
il comportamento di Functions con Apps Script. Ad esempio, puoi creare una richiesta
funzione, in2mm()
, che converte un valore da pollici a millimetri, quindi utilizza
la formula nel foglio di lavoro digitando =in2mm(A1)
o =in2mm(10)
in una
cella.
Per scoprire di più sulle funzioni personalizzate, prova la procedura di avvio rapido di 5 minuti su Menu e funzioni personalizzate o consulta la guida più approfondita alle funzioni personalizzate.
Macro
Le macro sono un altro modo di eseguire il codice Apps Script dall'interfaccia utente di Fogli Google. A differenza delle funzioni personalizzate, è possibile attivarle con una scorciatoia da tastiera o utilizzando nel menu Fogli Google. Per ulteriori informazioni, vedi Macro di Fogli Google.
Componenti aggiuntivi per Fogli Google
I componenti aggiuntivi sono pacchetti di Apps Script specifici. di progetti eseguiti in Fogli Google e che 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 pubblicare il tuo script come per consentire agli altri utenti di installarlo dallo store dei componenti aggiuntivi.
Trigger
Script legati a un file di Fogli Google
puoi utilizzare semplici trigger come le funzioni
onOpen()
e onEdit()
per rispondere automaticamente quando un utente che ha modificato
l'accesso al foglio di lavoro lo apre o lo modifica.
Come i semplici trigger, attivatori installabili consentono a Fogli Google eseguire automaticamente una funzione quando si verifica un determinato evento. Installabile i trigger, tuttavia, offrono più flessibilità rispetto ai semplici trigger e al supporto i seguenti eventi: apertura, modifica, modifica, invio di modulo e a tempo (orologio).