Установите значение ячейки после отправки электронного письма в соответствии со статусом заявки волонтера.

Я занимаюсь созданием системы регистрации волонтеров для организации, с которой работаю. Я хочу написать сценарий, чтобы каждый раз, когда я запускаю сценарий из раскрывающегося меню, он сканировал таблицу за строкой и определял статус приложения. Если статус открыт, я хочу, чтобы он затем определял, было ли отправлено электронное письмо с открытым статусом, если нет, отправьте электронное письмо и измените значение значения 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 {};

  };

}

person Ethan Thompson    schedule 29.09.2018    source источник


Ответы (1)


Чтобы изменить значение ячейки Google Sheet, используйте setValue(value).

Устанавливает значение диапазона. Значение может быть числовым, строковым, логическим значением или датой. Если он начинается с '=', он интерпретируется как формула.

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B2");
cell.setValue(100);
person Rubén    schedule 29.09.2018