Основная проблема - оператор 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);
}
}
}