Я пытаюсь написать скрипт, который проверит ячейку на значение «Готово». Если скрипт обнаружит, что «Done» присутствует в этой первой ячейке, он запишет значение «X» в соответствующую ячейку (в той же строке). Кроме того, электронное письмо будет отправлено с другой соответствующей информацией в той же строке.
Каждый раз, когда электронная таблица открывается, я хочу, чтобы скрипт выполнялся. Цель записи «X» в соответствующей ячейке состоит в том, чтобы скрипт мог проверить, была ли эта строка уже учтена, и электронное письмо уже было отправлено. Присутствие символа «X» приведет к тому, что скрипт переместится на следующую строку без отправки электронного письма (избегая отправки двух электронных писем об одной строке).
В конечном итоге мне понадобится проверить три строки на «Готово» (и три соответствующие строки на «Х»).
Я нахожусь в точке, где мой сценарий может успешно проверить:
1) Если присутствует «Готово»
2) Если присутствует «Х»
3) Отправить электронное письмо соответственно.
Мне нужна помощь:
1) Выяснить, как написать «Х» в ячейку! Я не могу разобраться. Моя текущая методология может не соответствовать тому, что я пытаюсь сделать.
Мне, к сожалению, не хватает "репутации", чтобы опубликовать скриншот листа Google.
Я пытался использовать setValue для присвоения "X" соответствующей ячейке, но мне выдается следующая ошибка:
TypeError: Невозможно найти функцию setValue в объекте. (строка 35, файл «Попытка объединения»)
function SendEmails() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
sheet.setActiveSheet(sheet.getSheetByName("Sheet1"));
var DataRange = sheet.getRange("A:J");
var data = DataRange.getValues();
//iterating through the data
for (i in data) {
var rowData = data[i];
var emailAddress = rowData[0];
var parameter = rowData[1];
var user = rowData[2];
var message1 = rowData[3];
var parameter2 = rowData[4];
var message2 = rowData[5];
var parameter3 = rowData[6];
var p1Check = rowData[7];
var p2Check = rowData[8];
var p3Check = rowData[9];
//checking to see if the value "Done" is present
if (parameter == "Done") {
//checking to see if the value "X" is present (implying a corresponding email has already been sent)
if (p1Check !== "X") {
var messageComplete = message1 + " This is for " + user;
var subject = 'Client Status email update for ' + user;
//this line below is what I am trying to use to set the corresponding cell value to "X"; it doesn't work
//p1Check.setValue("X");
//Sending the email
MailApp.sendEmail(emailAddress, subject, messageComplete);
}
else {
}
}
else {
}
}
}
Как уже упоминалось выше, мне нужна соответствующая ячейка в столбце H, чтобы в нее было записано «X», когда условие «Готово». Этого не происходит, и я получаю ошибку с моей текущей попыткой решения.
Любая помощь будет оценена.