Я пытаюсь создать скрипт приложения электронной таблицы, который отправляет электронные письма разным пользователям, чтобы уведомить их о необходимости что-то сделать.
Конечно, я заставил его отправить письмо, но не могу заставить его отправить количество ячеек, в которых упоминается то же письмо, так что пользователь будет уведомлен о количестве задач, над которыми ему нужно работать.
С другой стороны, я изо всех сил пытаюсь сделать скрипт просто отправьте одно электронное письмо Пользователям.
Это код, который я пытаюсь написать:
var enviado = 'ok';
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2;
var numRows = 1000;
// Rango J2:J
var dataRange = sheet.getRange(startRow, 9, numRows, 4);
var data = dataRange.getValues();
var nextEmail = '';
for (var i = 0; i < data.length; ++i) {
if (i < data.length - 1) {
nextEmail = data[i+1][11] //busca la siguiente fila, en la columna 11
}
else { //si i es la fila máxima
nextEmail = ''
}
var row = data[i];
var registrado = row[1];
var name = row[0]
var emailAddress = row[2];
var contarMails = 0;
for (var mails in emailAddress) {
if (emailAddress[mails][0] == emailAddress) { //Here's where I'm stuck
contarMails++;
};
};
var mensaje =
'<p>¡Hola, '+name+'!</p>'+
'<br>Tenés '+contarMails+' <strong>partida(s) no conciliada(s)</strong> asignada(s) en la Planilla Conciliaciones bancarias.</br><br></br>'+
'<br>Ingresá al archivo para revisar: </br>'+'<a href="https://docs.google.com/spreadsheets/d/1kzaDQSMDwi_SFKaB4SDVYraeS8wqMjIVl_Tt20wfX1o/">Planilla Conciliaciones bancarias</a>'
var mailEnviado = row[3];
if (mailEnviado !== enviado) { // Previene el envío de duplicadios
var asunto = 'Notificación PNC - Conciliaciones bancarias';
if (emailAddress !== "" && mailEnviado !== enviado && nextEmail !== emailAddress){ //esto deberia evitar el envio de multiples mails a un mismo destinatario, pero no funciona
if (registrado == false) {
MailApp.sendEmail({
to: emailAddress,
subject: asunto,
htmlBody: mensaje,
noReply: true
});
sheet.getRange(startRow + i, 12).setValue(enviado);
// Asegura que la celda se complete automaticamente por si el script se detiene
SpreadsheetApp.flush();
}
}
}
}
}
Я ценю любую помощь
Спасибо!