Google Apps Script: modello personalizzato di stampa

Anche tu hai la necessità di compilare un personale modello di pagina con dei dati provenienti da un foglio di calcolo di Google? E anche tu vorresti poi fare in modo che questa pagina sia salvata automaticamente in pdf in un’apposita cartella del tuo Drive? Google Apps Script ci ha aiutato a realizzare tutto questo e di seguito ti spieghiamo come.

Google Apps Script è un linguaggio di scripting basato su Javascript che consente di creare script ed applicazioni che possono colloquiare con i prodotti della G Suite come Documenti (Google Docs), Fogli di calcolo (Google Sheets), Moduli (Google Forms), Google Drive, Gmail, ecc… Non hai bisogno di ulteriori installazioni, è tutto gestito sul server di Google  ed è semplice da utilizzare.

Cosa è possibile sviluppare con Google Apps Script?

Grazie a Google Apps Script è possibile creare, ad esempio, nuovi menù, finestre di dialogo, nuove funzioni in Google Docs oppure interagire con i servizi di Gmail per pianificare l’invio automatico di mail a diversi destinatari.

Si possono creare funzioni personalizzate per ricercare e aggregare dati prelevandoli da uno Google Sheets al verificarsi di determinati eventi. Ed è proprio da qui che siamo partiti con la realizzazione del nostro progetto.

Avevamo bisogno di generare in automatico una stampa in pdf del file “Consuntivi ore lavorate” partendo da un Google Sheet che ogni nostro collaboratore compila mensilmente con le ore lavorate per ogni progetto ad esso assegnato.

Preparazione del foglio di calcolo Google Sheet

Per prima cosa abbiamo creato un file di lavoro Google Sheet con diversi fogli, uno per ogni mese dell’anno al quale abbiamo aggiunto un ulteriore sheet contenente il Template del file “Consuntivi ore lavorate”.

File di lavoro Google Sheet
Template "Consuntivi ore lavorate"
Template “Consuntivi ore lavorate”

 

 

 

 

 

 

 

 

Sfruttando le proprietà del foglio di calcolo abbiamo impostato prima una formula che, nella cella L4, ci elencherà tutti i progetti su cui abbiamo lavorato quel mese. Attraverso l’utilizzo di  un’altra formula riempiremo diverse celle con tutti i dati inseriti nel rapportino per ciascun progetto (dalla colonna N alla colonna S)formule google sheetA questo punto, in ogni mese abbiamo aggiunto un tasto “Genera Pdf” che ogni volta che viene premuto avvierà uno script che:

  • dal foglio attivo prende i dati inseriti dalla precedente formula quali: totale delle giornate lavorate, cliente e progettoCodice
  • chiama la funzione “Stampa” che eseguirà tutto il codice per generare il pdf e  salvarlo nella cartella di Google Drive 
  • chiama la funzione “EliminaDuplicati” che, se il rapportino mensile viene generato più di una volta, cancellerà il precedente file creato

Vediamo queste due funzioni nel dettaglio.

 Generare un file pdf in automatico dopo aver compilato un Template di pagina

Prima di procedere alla creazione del file pdf dobbiamo compilare il foglio denominato “TemplateConsuntivo” con i dati provenienti dal singolo mese. Alcune variabili le abbiamo già ricavate sopra ma ne occorrono altre come la data, le ore lavorate con il corrispondente valore espresso in giornate  e la descrizione dell’attività svolta.Codice

Una volta compilato il modello con tutte le informazioni necessarie copiamo il formato della riga 17 in modo da uniformare il format di tutte le righe che sono state aggiunte automaticamente.

Codice

Codice
Tutte le righe sono state formattate dopo l’esecuzione del codice
codice
Differenza tra la riga 17 e le altre due aggiunte ma non ancora formattate

 

 

 

La creazione del file pdf avviene con l’esecuzione delle seguenti istruzioni:Codice

In questa fase abbiamo anche deciso di creare un file denominato “Elenco_rapportini_2020” dove memorizzare, in un unico elenco, tutti i rapportini creati dai vari collaboratori, dove abbiamo inserito oltre al nome del file anche la sua url e id.

Cosa succede se devo correggere il rapportino appena creato?

Qualora avessi la necessità di correggere il rapportino, non dobbiamo far altro che apportare le modifiche nel mese di riferimento e premere nuovamente il tasto “Genera PDF”. A questo punto però è fondamentale che il vecchio rapportino venga cancellato nella cartella di Drive ed il suo posto venga preso dal nuovo. Deve essere anche cancellata la riga corrispondente nel file “Elenco_rapportini_2020” in modo che tutto sia allineato. Con la funzione “EliminaDuplicati” abbiamo ottenuto tutto questo:Codice

 

Come abbiamo visto, grazie a Google Apps Script puoi utilizzare le tue app preferite con maggiori funzionalità, personalizzare le applicazioni della tua azienda e rendere il lavoro ancora più semplice, veloce ed efficiente. Se hai necessità di realizzare applicazioni interattive e processi automatizzati integrati con i prodotti della G Suite non esitare a contattarci.