[apps script] Aggiungere un nuovo foglio a Spreadsheet controllando quelli esistenti

Vediamo come costruire una funzione che ci permetta di creare da apps script un nuovo foglio su spreadsheet ed aggiungerlo a quelli esistenti.

Notiamo che per prendere il riferimento alla cartella esistente utilizziamo:

Il nome del foglio lo vogliamo gestire nel modo seguente: se il nome che stiamo cercando di aggiungere esiste già, allora posponiamo al nome un contatore numerico scritto come (1), (2)… (n). In pratica se esiste già un foglio chiamato Primo Foglio, allora il foglio aggiunto sarà Primo Foglio (1), se esistono entrambi sarà Primo Foglio (2) ecc.

Infine restituiamo il riferimento al foglio appena creato con:

 

Vedi articolo

[javascript] Scrivere righe, colonne e formule su Google Spreadsheet utilizzando Google Apps Script (per esordienti totali)

Oggi voglio proporre un esercizio facile facile su Google Spreadsheet, l’equivalente (si fa per dire!) G Suite a Microsoft Excel.

In Excel è possibile aggiungere macro (o script) ai fogli di calcolo utilizzando VBA, mentre Google ha implementato per il medesimo risultato gli script tramite JavaScript.

Prima di cominciare vediamo il risultato che intendiamo ottenere: creare uno script che generi tre colonne di dati, contenenti rispettivamente una sequenza di ID, un elenco di prodotti pescati casualmente da un vettore, delle quantità casuali; in fondo alla tabella vogliamo scrivere il TOTALE utilizzando una funzione di somma.

Quello di sopra è ciò che vogliamo arrivare a vedere alla fine.

Cominciamo allora subito creando un nuovo foglio, che io ho chiamato test script, poi aggiungiamo uno script andando su Strumenti > Editor di script.

A questo punto si aprirà la schermata degli script dove verrà proposta una funzione base. Cancelliamola e creiamo la nostra funzione in questo modo:

Anzitutto creiamo un oggetto collegato al foglio corrente:

Con getActiveSpreadsheet() prendiamo il riferimento alla cartella di lavoro aperta in questo momento (l’equivalente di Workbook in Excel), mentre con getSheets() prendiamo il vettore di tutti i fogli nella cartella di lavoro.

Puliamo anzitutto il foglio da precedenti contenuti con:

Adesso cambiamo il nome del foglio con:

A questo punto possiamo costruire la nostra funzione per popolare il foglio con i dati come da esempio iniziale. Integrando il tutto dovremmo ottenere qualcosa di simile a questo:

Faccio notare che la somma totale dei prodotti la facciamo con =SUM(C2:C100) che impostiamo nella cella alla riga 101 e colonna 3.

Quando abbiamo fatto tutto premiamo il tasto ESEGUI (play). Se è la prima volta che eseguiamo lo script ci verrà chiesto di autorizzarlo per accedere al foglio di lavoro dal quale siamo partiti. Concediamogli l’autorizzazione.

ATTENZIONE! Comparirà una schermata di avviso come se la connessione non fosse sicura, che ci allerterà che stiamo per eseguire uno script non sicuro, dal momento che è uno script personalizzato da noi e non verificato da Google. Clicchiamo su Avanzate e procediamo.

Se tutto è andato bene avremo eseguito il nostro primo script delle Google Apps Script. 🙂

Vedi articolo