La tarea es bastante simple, tengo una hoja de cálculo de Google que contiene una columna con fechas calculadas . Quiero recibir una alerta por correo electrónico cada vez que haya una fecha en esa columna que esté a menos de una semana de hoy. Mi código actual es:
function DueDateAlert() { var due_date_range = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Main").getRange("J2:J56"); var due_date = due_date_range.getDisplayValues(); var now = new Date(); var recipients = "johndoe@gmail.com"; var nextWeek = now.setDate(now.getDate() + 7); var counter = 0; for(i in due_date){ if (i < nextWeek){ counter = counter+1 }} if (counter > 0){ var message = " Task coming up ,Please consult the Schedule "; var subject = 'Task Alert'; MailApp.sendEmail(recipients, subject, message); }El problema es que el script se ejecuta sin importar el valor de la celda. Por alguna razón recibo alertas incluso si las celdas están vacías. ¿Algunas ideas? Muy apreciado.
La línea: if (i < nextWeek)
i es un numero (De cero a 55, supongo).
nextWeek es una fecha.
Estás comparando el número con la fecha. No tiene sentido.
Probablemente necesite: if (new Date(dueDate[i]) < nextWeek) .