Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

296
Vistas
Google Sheets Scripts: envíe un correo electrónico basado en una celda que tenga la fecha de hoy

He buscado por todas partes, pero parece que no puedo reconstruir el código de todas las diferentes respuestas que existen.

Tengo 4 columnas que se completan con lo siguiente: fecha de procesamiento, correo electrónico, nombre, fecha de eliminación

Lo que me gustaría hacer es enviar un correo electrónico a una dirección de correo electrónico estática, incluida la dirección de correo electrónico que debe eliminarse cuando las celdas de la columna "Fecha de eliminación" coincidan con la fecha de hoy. También necesito que esto se ejecute una vez al día.

He descubierto el funcionamiento diario con los disparadores. He pegado el código a continuación que estoy tratando de ejecutar. Mi idea fue poner los datos en una matriz, evaluar la cuarta columna para las fechas. Luego, cuando la fecha es hoy, devuelve la fila completa para que pueda usar el correo electrónico que aparece en la segunda columna.

 function SendEmail() { var presentDay = new Date(); var rows = SpreadsheetApp.getActiveSheet().getDataRange().getValues(); var filteredEmails = rows.filter(function(row) { var removalDate = row[4]; if (removalDate === Date) { return row } }) Logger.log(filteredEmails); var emailAddress = "staticEmail@gmail.com"; var message = ' needs to be removed'; var subject = 'Member needs to be removed'; //MailApp.sendEmail(emailAddress, subject, row[2] + message); }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Prueba algo como esto:

 function sendEmails() { const ss = SpreadsheetApp.getActive(); const sh = ss.getSheetByName('Emails'; const sr = 2; //data start row const dt = new Date(); const tdv = new Date(dt.getFullYear(),dt.getMonth(),dt.getDate()).valueOf(); const vs = sh.getRange(sr, 1, sh.getLastRow() - sr + 1, sh.getLastColumn()).getValues(); const fvs = vs.filter(r => { let d = new Date(r[4]); let dv = new Date(d.getFullYear(),d.getMonth(),d.getDate()).valueOf() return dv == tdv; }); fvs.forEach(r => {});//send emails with this loop }

Si desea comparar fechas numéricamente, debe usar valueOf() o getTime();

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda