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

Я пытаюсь отправить электронное письмо, когда значение столбца 8 соответствует столбцу 3 для всех строк в скрипте Google.

function sendEmailNotification() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var lrow=ss.getLastRow()
  var sheet = SpreadsheetApp.getActiveSheet();

  for (var i = 2; i < lrow; i++)
  {
    if (sheet.getRange(i, 8).getValue() = sheet.getRange(i, 3).getValue())

      var emailSubject =  'Value of ' + sheet.getRange(i, 1).getDisplayValue() + ' triggered, now pending your attention';
    var emailBody = 'Person1 has approved the item on row ' + ' of spreadsheet "' + '".\n\n';
    emailBody += 'To open the spreadsheet, click this link: ' + ss.getUrl() + '\n\n';
    emailBody += '(this is an automatically sent message)';

    MailApp.sendEmail("sdas22@gmail.com", emailSubject, emailBody);
;  }}

1 Ответ

0 голосов
/ 08 октября 2018

Основная проблема - оператор IF

Это ваше, которое не работает и генерирует сообщение об ошибке

if (sheet.getRange(i, 8).getValue() = sheet.getRange(i, 3).getValue())

Это мое, которое работает

 if ((sheet.getRange(i, 8).getValue()) == (sheet.getRange(i, 3).getValue())){

    }

Обратите внимание на пару вещей.

  • Оператор сравнения - "==", а не "="
  • Каждый из операторов getValue заключен в квадратные скобки
  • Нет никаких «фигурных скобок» для указания цели оператора IF.Это особенно важно.

В последней строке также есть точки с запятой, которые кажутся неуместными.


Это моя версия вашего кода, которая работает

function sendEmailNotification() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var lrow=ss.getLastRow()
  var sheet = SpreadsheetApp.getActiveSheet();

  for (var i = 2; i < lrow; i++)
  {

    if ((sheet.getRange(i, 8).getValue()) == (sheet.getRange(i, 3).getValue())){

        var emailSubject =  'Value of ' + sheet.getRange(i, 1).getDisplayValue() + ' triggered, now pending your attention';
        var emailBody = 'Person1 has approved the item on row ' + ' of spreadsheet "' + '".\n\n';
        emailBody += 'To open the spreadsheet, click this link: ' + ss.getUrl() + '\n\n';
        emailBody += '(this is an automatically sent message)';
        MailApp.sendEmail("sdas22@gmail.com", emailSubject, emailBody);
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...