Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

286
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!