Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const subject = "New change"
- const firstColumnIndex = 3
- const firstColumn = "C"
- const firstRow = 2
- const lastColumnIndex = 5
- const lastColumn = "E"
- const emailColumn = "B"
- function sendMail(email, msg) {
- MailApp.sendEmail({
- to: email,
- subject: subject,
- htmlBody: msg
- });
- }
- function sendMailChange() {
- var Cvals = SpreadsheetApp.getActiveSheet().getRange(firstColumn + ":" + firstColumn).getValues();
- var last = Cvals.filter(String).length;
- var range = firstColumn + firstRow + ":" + lastColumn + last;
- var data = SpreadsheetApp.getActiveSheet().getRange(range).getValues();
- var table = getTable(data);
- var mails = getListMail();
- for (mail of mails) {
- sendMail(mail, table);
- }
- }
- function getListMail() {
- var Bvals = SpreadsheetApp.getActiveSheet().getRange(emailColumn + ":" + emailColumn).getValues();
- var last = Bvals.filter(String).length;
- var range = emailColumn + firstRow + ":" + emailColumn + last;
- var data = SpreadsheetApp.getActiveSheet().getRange(range).getValues();
- return [].concat(...data);
- }
- function getTable(data) {
- var result = ["<table border=1'>"];
- var ll = data[0].length;
- var row = 0;
- for(var i = 0, l = data.length; i < l; i++) {
- row = data[i];
- result.push("<tr>");
- for(var ii = 0; ii < ll; ii++){
- result.push('<td>' + row[ii] + '</td>');
- }
- result.push("</tr>");
- }
- result.push("</table>");
- return result.join('\n');
- }
- function onEdit(e) {
- var editRange = { // C2:E9999
- top : firstRow,
- bottom : 999,
- left : firstColumnIndex, // 3 => C
- right : lastColumnIndex // 5 => E
- };
- // Exit if we're out of range
- var thisRow = e.range.getRow();
- if (thisRow < editRange.top || thisRow > editRange.bottom) return;
- var thisCol = e.range.getColumn();
- if (thisCol < editRange.left || thisCol > editRange.right) return;
- sendMailChange();
- }
Add Comment
Please, Sign In to add comment