Google Scripting

De Wikijoan
(Diferència entre revisions)
Dreceres ràpides: navegació, cerca
 
(Hi ha 2 revisions intermèdies sense mostrar fetes per un usuari)
Línia 72: Línia 72:
 
   }
 
   }
 
    
 
    
 +
  //Google scripting detecta el mail de l'usuari actiu
 
   var email = Session.getActiveUser().getEmail();
 
   var email = Session.getActiveUser().getEmail();
 +
  var email_professor = 'jquintana@jaumebalmes.net';
 
   var subject = "Pobles del Berguedà";
 
   var subject = "Pobles del Berguedà";
   GmailApp.sendEmail(email, subject, body);
+
   GmailApp.sendEmail(email, subject, body); //t'envies el mail a tu mateix
 +
  GmailApp.sendEmail(email_professor, subject, body); //envies el mail al profe
  
 
}
 
}
Línia 83: Línia 86:
 
Recorda la '''normativa''' per entregar les pràctiques al Schoology: [[ASIX-M09-IAW#Normativa_d.27entrega_de_les_pr.C3.A0ctiques_al_Moodle]].
 
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 LLEEIX-ME els dubtes, problemes, èxits i fracassos que t'has trobat.
+
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.
  
{{Autor}}, febrer 2014, abril 2017
+
{{Autor}}, abril 2019
[[Categoria: IES Jaume Balmes]]
+
[[Categoria: Institut Jaume Balmes]]
 
[[Categoria: ASIX-M09-IAW]]
 
[[Categoria: ASIX-M09-IAW]]

Revisió de 15:11, 22 feb 2019

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.

  1. Omplir un full de càlcul amb els municipis de Catalunya i comarques.
  2. Crear en l'editor de scripts una funció que filtri per la comarca Berguedà.
  3. 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

Eines de l'usuari
Espais de noms
Variants
Accions
Navegació
Institut Jaume Balmes
Màquines recreatives
CNC
Informàtica musical
joanillo.org Planet
Eines