Google Scripting
Contingut
Introducció. Tutorial Google Scripting
A classe es seguirà el següent tutorial:
Extending Google Docs
Extending Google Sheets
For a quick introduction to using Apps Script with Google Sheets, see the 5-minute quickstart guide for Macros, Menus, and Custom Functions.
Desenvolupament
Llegir i escriure en un full de càlcul
Anem a veure l'exemple bàsic de llegir i escriure en un full de càlcul de Google. Creem un full de càlcul nou (anem a Google Drive > Nou > Full de càlcul de Google), i omplim uns quants valors. Per ex:
Manresa Bages Balsareny Bages Sallent Bages Puig-reig Berguedà Gironella Berguedà Berga Berguedà
A Eines > Editor de Scripts, afegim aquestes dues funcions:
function logPoblesInfo() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
for (var i = 0; i < data.length; i++) {
Logger.log('Poble: ' + data[i][0]);
Logger.log('Comarca: ' + data[i][1]);
}
}
function afegirPoble() {
var sheet = SpreadsheetApp.getActiveSheet();
sheet.appendRow(['Cercs', 'Berguedà']);
}
Per provar-les, hem de fer Executa i seleccionar la funció que volem provar. Per tal de què funcioni la primera (logPoblesInfo()) hem de tenir seleccionat el rang. Per veure els resultats (objecte Logger.log) hem d'anar a Visualitza > Registres.
Per tal de poder visualitzar les dades dels pobles sense haver de seleccionar el rang, podem substituir una línia per la següent:
//var data = sheet.getDataRange().getValues(); var data = sheet.getRange(1,1,sheet.getLastRow(),sheet.getLastColumn()).getValues();
D'aquesta manera Google Spreadsheet sap trobar quin és el rang on tinc dades.
Tasques a realitzar
Un cop fet els tutorials vistos anteriorment, l'alumne haurà de realitzar el següent exercici.
- Omplir un full de càlcul amb els municipis de Catalunya i comarques.
- Crear en l'editor de scripts una funció que filtri per la comarca Berguedà.
- Crear en l'editor de scripts una funció per enviar per correu electrònic la llista dels municipis del Berguedà.
La llista de pobles i comarques de Catalunya els podeu trobar a la wikipèdia en format per copiar-los directament al full de càlcul:
Solució: Problemes que m'he trobat: Compte en copiar i enganxar de la wikipèdia al full de càlcul. No hi ha d'haver espais en blanc al final, i s'ha d'enganxar només els valors, sense cap format. És convenient copiar-ho primer a un editor de text pla com ara el gedit.
var body = "";
function logPoblesInfo() {
var sheet = SpreadsheetApp.getActiveSheet();
//var data = sheet.getDataRange().getValues();
var data = sheet.getRange(1,1,sheet.getLastRow(),sheet.getLastColumn()).getValues();
for (var i = 0; i < data.length; i++) {
if (data[i][1] == 'Berguedà') {
Logger.log('Poble: ' + data[i][0]);
body += data[i][0] + '\n';
}
}
//Google scripting detecta el mail de l'usuari actiu
var email = Session.getActiveUser().getEmail();
var email_professor = 'jquintana@jaumebalmes.net';
var subject = "Pobles del Berguedà";
GmailApp.sendEmail(email, subject, body); //t'envies el mail a tu mateix
GmailApp.sendEmail(email_professor, subject, body); //envies el mail al profe
}
NOTA: Enviar la llista dels municipis al professor: jquintana@jaumebalmes.net
Entrega
Recorda la normativa per entregar les pràctiques al Schoology: ASIX-M09-IAW#Normativa_d.27entrega_de_les_pr.C3.A0ctiques_al_Moodle.
Per demostrar que has fet allò que es pretén i que has arribat allà on es pretén, n'hi haurà prou en fer unes captures de pantalla. Recorda d'escriure en el fitxer LLEGEIX-ME els dubtes, problemes, èxits i fracassos que t'has trobat.
creat per Joan Quintana Compte, abril 2019