Запустить электронную почту, когда ячейка определенного цвета? - PullRequest
1 голос
/ 29 октября 2019

У меня очень ОЧЕНЬ ограниченные знания по этому вопросу. Так мало, что я, вероятно, даже не должен называть это «знанием»

Вот что я пытаюсь сделать: у меня есть столбец с датами, относящимися к датам отправки. Если дата уже прошла, ячейка становится красной (# a33838). Я хочу отправить электронное письмо, если ячейка в этом столбце станет красной, чтобы я знал, что она не была отправлена ​​и требует выполнения. Я также хочу, чтобы в электронном письме содержалась информация о строке, в которой находится ячейка

. Я просматривал форумы и думаю, что мне нужно сочетание этих двух разных сообщений:

* 1007. * Измените значение ячейки на основе цвета ячейки в электронной таблице Google

Запустите электронное письмо, когда ячейка имеет определенные значения

Если кто-нибудь знает способ сделать это,это действительно было бы спасением! Большое спасибо.

1 Ответ

0 голосов
/ 30 октября 2019

Этот код поможет вам в том, что вам нужно

var EMAIL_ADDRESS = "email@domain";
var SUBJECT = "Passed dates";
var message = "";

function alertDate() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // get the sheet where values are
  var date_col = sheet.getRange(1, 1, sheet.getLastRow()); // get the column with the dates
  var dates = date_col.getValues();
  var row = 0;
  for(var i = 0; i < dates.length; i++){ // iterate over all dates 
    if( dates[i] < Utilities.formatDate(new Date(), "GMT", "MM/dd/yyyy")){ // check if date already passed
      date_col.getCell(i + 1, 1).setBackground("#A33838"); // change cell´s color
      row = i + 1;
      message += "This date " + dates[i] + " on row " + row.toString() + " has already passed\n"; // build message to send
    }
  }
  MailApp.sendEmail(EMAIL_ADDRESS, SUBJECT, message); // send email
}

Примечание:

Я использую формат "ММ / ДД / ГГГГ" для дат в моем примере, поэтому, если вы используете другой формат на листе, вам нужно изменить это:

Utilities.formatDate(new Date(), "GMT", "MM/dd/yyyy")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...