Seguirem amb el nostre full ORIGEN i ens oblidarem del full DESTÍ. Afegirem un camp en la columna C que es servirà per escriure un missatge personalitzat a cada usuari.
Farem un nova funció, que servirà per enviar automàticament el correu a cada usuari. Posem adreces de correu reals que pogueu consultar, així podreu provar que tot funciona correctament
Igual que en la funció anterior, primer haurem de recollir les dades. Enlloc de fixar el rang exacte, agafarem totes els dades que hi ha la full. Així, si afegim usuaris, tot seguirà funcionant.
Enlloc d'utilitzar getRange() utilitzarem getDataRange();
function enviar_mail() { var full_origen = SpreadsheetApp.getActive() // Com que l'script està associat al full ORIGEN, indiquem que és l'actiu var sheet = full_origen.getSheetByName("Sheet1"); //Obrim el primer full del llibre ORIGEN var rang = sheet.getDataRange(); //Agafem totes les dades var valors = rang.getValues(); //Recollim tots els valors }Com que voldrem enviar un mail per a cada alumne, utilitzarem una funció de bucle de Javascript, el FOR
for (var i=1; i<rang.getNumRows(); i++){ }Fixeu-vos que utilitzem la propietat getNumRows() per saber quina és la darrera fila on hi ha usuaris.
Enviar correus és molt senzill, només cal utilitzar la funció GmailApp.sendEmail(adreça, assumpte, cos)
Només cal determinar quina és l'adreça (recordeu que esta a la columna B), l'assumpte (l'hem col·locat a la C) i el cos (està a la D).
for (var i=1; i<rang.getNumRows(); i++){
var adreca = valors[i][1] // L'adreça està a la cel·la B2 (i cada cop canviem de fila B3, B4...)var assumpte = valors[i][2] //L'assumpte està a la cel·la C2 (i cada cop canviem de fila C3, C4...)var cos = valors[i][3] //L'assumpte està a la cel·la D2 (i cada cop canviem de fila D3, D4...) GmailApp.sendEmail(adreca, assumpte, cos) }Així ja ens funcionaria, però si algun usauri tingués l'adreça en blanc, ens donaria error. Així que estaria bé, abans d'enviar el mail, assegurar-nos que no està en blanc. La funció IF ens hi pot ajudar.
for (var i=1; i<rang.getNumRows(); i++){var adreca = valors[i][1] // L'adreça està a la cel·la B2 (i cada cop canviem de fila B3, B4...)var assumpte = valors[i][2] //L'assumpte està a la cel·la C2 (i cada cop canviem de fila C3, C4...)var cos = valors[i][3] //L'assumpte està a la cel·la D2 (i cada cop canviem de fila D3, D4...) if (adreca!=""){GmailApp.sendEmail(adreca, assumpte, cos)} }try { Codi a executar}catch(err) { Codi a executar si es produeix un error}