Установите значение ячейки после отправки электронного письма в соответствии со статусом заявки волонтера - PullRequest
0 голосов
/ 30 сентября 2018

Я нахожусь в создании системы регистрации добровольцев для организации, с которой я работаю.Я хочу написать скрипт, чтобы каждый раз, когда я запускаю скрипт из выпадающего меню, он сканировал электронную таблицу построчно и определял состояние приложения.Если статус открыт, я хочу, чтобы он затем определил, было ли отправлено электронное письмо с открытым статусом, если нет, отправил электронное письмо и изменил значение значения open_email для этой строки на «SENT».Если статус приложения закрыт, я хочу, чтобы он делал то же самое для закрытого электронного письма.

Таблица добровольцев

По сути, я хочу запускать эту функцию всякий раз, когда мыполучить новые приложения для добровольцев, чтобы они получали электронные письма в зависимости от статуса приложения.

Мне удалось написать функцию для сканирования строк и отправки электронных писем в зависимости от состояния приложения, но я не могу показатьсячтобы выяснить, как заставить его изменить значение ячейки после отправки соответствующего электронного письма.

Вот код функции слияния:

//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 {};

  };

}

1 Ответ

0 голосов
/ 30 сентября 2018

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

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

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

var cell = sheet.getRange("B2");
cell.setValue(100);
...