У меня есть таблица для записи образцов клиентов. Столбец [I] используется для расчета, когда первоначальная дата ввода превышает определенный период, в котором затем отображается просроченное сообщение с использованием оператора if. Я хочу запустить сценарий для ежедневной проверки этого столбца и, если найдено «просрочено», отправить электронное письмо на адрес, указанный в другом столбце [C]. Я также использую другой столбец [J], чтобы вернуть сообщение при отправке электронного письма. Я использую приведенный ниже скрипт, но возвращаю ошибки
- Сценарий помечает все строки в столбце J отправленным сообщением электронной почты
- Кажется, мне нужно собрать больший массив данных [добавив две строки внизу]
У кого-нибудь есть идеи?
//Setup the function
function autoMail () {
var ss = SpreadsheetApp.getActiveSpreadsheet(); //Get the active spreadsheet
var sheet = ss.getSheetByName( 'TS_Requests' ); //Get the active spread
var startRow = 3; // Start of row that going to be process considering row 2 is header
var lastRow = sheet.getLastRow(); // Get the last row of data to be process
var lastColumn = sheet.getLastColumn(); // Get the last column of data to be process
var range = sheet.getRange(startRow,1,lastRow,lastColumn); //Getting the specific cell to be process
var data = range.getValues(); // Get the values inside the cell
for(var i=0;i<data.length;++i){
var row = data[i];
var email = row[2]; // Grab the email column. C in this case
var customer = row[3]; // Grab data for Email body
var item = row[5]; // Grab data for Email body
var description = row[6]; // Grab data for Email body
var status = row[8]; // Grab the column containing the value needed to be checked.
var EmailSent = row[9]
if (EmailSent != 'Email_Sent') { //Prevents e-mail being sent in duplicate
if(valstatus ='Overdue'){ // Check the values, if it's what's needed, do something
MailApp.sendEmail(email, 'Your sample request is overdue', customer + ' - ' + item + ' - ' + description); // if condition is met, send email
sheet.getRange(startRow + i, 10).setValue('Email_Sent');
}
}
}
}