Я использую электронную таблицу для управления датами окончания сертификации.Я хочу отправить электронное письмо сотруднику, когда срок его действия истекает в течение 90 дней.Я хочу отправить только одно письмо.Я изо всех сил пытаюсь получить дату из ячейки и сравнить ее с сегодняшней датой.
Я хочу отправить электронное письмо, если сегодняшняя дата + 90 дней в MS> дата окончания сертификации в MS.
Я начал использовать шаблон для предотвращения отправки дубликатов электронных писем.У меня получилось работать с if && со словами в двух ячейках.Я изо всех сил пытаюсь заставить даты работать.Я пытался использовать getTime()
для получения дат в MS, но getValues().getTime
возвращает ошибку.
var EMAIL_SENT = 'EMAIL_SENT';
var NintyDayInMs = 90*24*60*60*100;
var Today = new Date().getTime();
var expired = Today+NintyDayInMs;
/**
* Sends non-duplicate emails with data from the current spreadsheet.
*/
function sendEmails2() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 2; // Number of rows to process
// Fetch the range of cells A2:B3
var dataRange = sheet.getRange(startRow, 1, numRows, 4);
// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[0]; // First column
var message = row[1]; // Second column
var emailSent = row[2]; // Third column
var exp = row[3]; // Fourth column
var expDate = exp.getTime();
if (emailSent != EMAIL_SENT && expDate < expired) { // Prevents
sending duplicates
var subject = 'Sending emails from a Spreadsheet';
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 3).setValue(EMAIL_SENT);
// Make sure the cell is updated right away in case the script is
interrupted
SpreadsheetApp.flush();
}
}
}
Мой текущий код приводит к
TypeError: Не удается найти функцию getTimeв объекте (дата в ячейке).(строка 26, файл "Код")