Скрипты Google — отправка электронной почты на основе значения ячейки

#email #google-apps-script #google-sheets

#Адрес электронной почты #google-приложения-скрипт #google-sheets #google-apps-script

Вопрос:

Это код, который я в настоящее время пытаюсь использовать для реализации электронной почты на основе значения ячейки C2 (см. Скриншот Google sheets ниже).

 function amberwarning() {
  // Fetch the combined flow value
  var combflowrange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("FloodEWS").getRange("C2"); 
  var combflow = combflowrange.getValue();
  // Check combined flow value
  if (270 < combflow < 310){
    // Fetch the email address
    var emailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Email").getRange("A2");
    var emailAddress = emailRange.getValues();
    
    // Send Alert Email.
    var subject = 'Amber warning';
    var message = 'It is possible that the Egger site will experience flooding in the coming hours. The advice is to be prepared to take action as combined river flows can increase very quickly during storms. Please keep up to date with the latest river levels for Hexham at <https://flood-warning-information.service.gov.uk/station/9006>. The latest flood warnings from the Environment Agency for Hexham are here <https://flood-warning-information.service.gov.uk/warnings?location= hexham>. The latest MetOffice weather forecast can be found here <https://www.metoffice.gov.uk/weather/forecast/gcy2xzrne#?>. Please use all available information to inform your decision making. You will keep receiving an email as per each refresh of the latest data. The current combined flow from the North and South Tyne is'   combflow;
    
    MailApp.sendEmail(emailAddress,subject,message);
    }
}

  

Текущее сообщение об ошибке, которое я получаю, звучит так: «Параметры (число [], строка, String) не соответствуют сигнатуре метода для MailApp.SendEmail. (строка 15, файл»

Идея заключается в том, что: Когда ячейка C2 находится между 270 и 310, чтобы отправить электронное письмо с «Желтым предупреждением», Когда ячейка C2 выше 310, отправьте электронное письмо с «Красным предупреждением», Когда ячейка C2 меньше 270, без электронной почты

Мы надеемся, что это будет привязано к триггеру для планирования каждые 15 минут

Любая помощь о том, как объединить два электронных письма (или иметь отдельные коды для каждого электронного письма), была бы весьма признательна.

введите описание изображения здесь

Ответ №1:

Похоже, что ваш параметр «Адрес электронной почты» представляет собой массив чисел (number[]), поскольку об этом говорится в ошибке, которую вы получаете.

Попробуйте использовать, getValue() если это один адрес, или получите первое значение, getValues() которое является 2D-массивом, выполнив getValues()[0] .

Что бы вы ни выбрали, назначьте его своей emailAddress переменной перед вызовом MailApp.sendEmail() .

Ответ №2:

Попробуйте следовать инструкциям в документации, поскольку там все четко объясняется и как отправлять электронную почту через app-script

Комментарии:

1. Спасибо. Я просто не уверен, как применить к нему функцию if?