El código necesita enviar un correo electrónico solo una vez cuando hay una edición en la hoja 'KYC' de la hoja de cálculo de Google. Adjunto un disparador instalable a la función. También hay funciones similares y disparadores asociados para otras hojas (Total 8 hojas y 8 disparadores).
CODICIÓN: - el activador debe ejecutarse solo cuando una persona termine de editar la columna C, no cuando esté editando en la columna A o B.
Pero si se realiza una edición en cualquiera de las hojas de la hoja de cálculo de Google, se ejecutan todos los disparadores y la persona que se supone que debe recibir solo el correo termina recibiendo más de 20 correos a la vez.
{ var ss = SpreadsheetApp.getActive(); var sheet1 = ss.getSheetByName("KYC"); var value1 = sheet1.getRange("A13:A").getValue(); var value2 = sheet1.getRange("C13:C").getValue(); var value3 = sheet1.getRange("D13:D").getValue(); if(value1 !== "" && value2 !== "" && value3 !== "") { MailApp.sendEmail("abc@abc.com","Query added in KYC Sheet","A new query has been added in the KYC Sheet. Please confirm") MailApp.sendEmail("def@abc.com","Query added in KYC Sheet","A new query has been added in the KYC Sheet. Please confirm") MailApp.sendEmail("ghi@abc.com","Query added in KYC Sheet","A new query has been added in the KYC Sheet. Please confirm") } }```Si desea enviar un correo electrónico solo una vez cuando alguien haya terminado de editar la columna C, solo considere la fila actual, es decir
function specialOnEdit(event){ var sheet1 = event.source.getActiveSheet(); var rng = event.source.getActiveRange(); if (sheet1.getName()=='KYC' && rng.getColumn()==3){ var value1 = sheet1.getRange("A"+rng.getRow()).getValue(); var value2 = sheet1.getRange("C"+rng.getRow()).getValue(); var value3 = sheet1.getRange("D"+rng.getRow()).getValue(); if(value1 !== "" && value2 !== "" && value3 !== ""){ // send email sheet1.getRange("Z"+rng.getRow()).setValue('sent on '+new Date()) } } }poner un activador instalable en specialOnEdit. También sugiero memorizar la fecha como indicador para saber si ya se envió un correo electrónico y probar el valor como para A, B y C.