Я занимаюсь созданием системы регистрации волонтеров для организации, с которой работаю. Я хочу написать сценарий, чтобы каждый раз, когда я запускаю сценарий из раскрывающегося меню, он сканировал таблицу за строкой и определял статус приложения. Если статус открыт, я хочу, чтобы он затем определял, было ли отправлено электронное письмо с открытым статусом, если нет, отправьте электронное письмо и измените значение значения open_email для этой строки на «ОТПРАВЛЕНО». Если статус приложения закрыт, я хочу, чтобы он делал то же самое для закрытого электронного письма.
По сути, я хочу запускать эту функцию всякий раз, когда мы получаем новые заявки от волонтеров, чтобы они получали электронные письма в зависимости от статуса их заявок.
Мне удалось написать функцию для сканирования строк и отправки электронных писем в зависимости от статуса приложения, но я не могу понять, как заставить ее изменить значение ячейки после отправки соответствующего электронного письма. .
Вот код функции слияния почты:
//function for menu item 1
function volunteerMailMerge() {
SpreadsheetApp.getUi();
//references
var ss = SpreadsheetApp.openById("1Ei86oBsafBc6GdFeKFFGdbljyUzbWRFRF8eWvnoYdIU");
var sheet = ss.getSheetByName("Application Status");
var range = sheet.getDataRange(); //sets range to all data in the spreadsheet
var values = sheet.getDataRange().getValues(); //translates the range into values in an array
var headers = values.shift(); //removes headers from values array
//loop through rows
for (var i = 0; i < values.length; i++) {
var firstName = values[i][0];
var lastName = values[i][1];
var email = values[i][2];
var position = values[i][3];
var status = values[i][4];
//mailmerge
if (status == "OPEN" && openEmail == "") {
//if app status is open, and openEmail hasn't been sent, do this
GmailApp.sendEmail(email, "SAFE Volunteer Application",{
htmlBody: "email body",
});
//change value of column 5 on the current row
} else {};
};
}