Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

186
Visualizações
El activador de mi App Script funciona de forma inesperada y envía muchos correos a los mismos usuarios, aunque necesita enviar el correo solo una vez (al editar)

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") } }```
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

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.

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede manejar el evento onEdit como aquí , pero también deberá eliminar este controlador

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda