Включите службу Gmail для своего скрипта
- Перейдите на свой лист и нажмите Инструменты> Редактор скриптов
- В редакторе скриптов выберите Ресурсы> Расширенные службы Google ... включить«Gmail API» и нажмите «ОК»
Код
Скопируйте и вставьте следующий код (и внесите любые изменения, если необходимо) в редактор сценариев вашего листа:
function sendEmail(dest, data) {
var messageBody = 'Hello, there has been a new release:\n\n' + JSON.stringify(data);
GmailApp.sendEmail(dest, 'Automated email from sheet', messageBody);
}
function onEditTrigger(e) {
var range = e.range;
if (range.columnStart == 8 && e.value == 'YES') {
// Prepare the email
var row = range.getSheet().getRange(e.range.rowStart, 1, 1, 8).getValues()[0];
var headers = range.getSheet().getRange(1, 1, 1, 8).getValues()[0];
var dest = row[1];
var data = {};
for (var i=0; i<8; i++) {
data[headers[i]] = row[i];
}
sendEmail(dest, data);
}
}
Код получит 8 первых столбцов строки, которые были изменены, и отправит их на адрес электронной почты, указанный в столбце B, вместе с заголовками в формате JSON. Вы можете увидеть таблицу, которую я использовал для тестирования здесь . Полученное письмо выглядит следующим образом:
Установите функцию onEditTrigger в качестве устанавливаемого триггера
- Из листаВ редакторе сценариев щелкните значок часов (« Триггеры текущего проекта »)
- Нажмите кнопку Добавить триггер
- Выберите onEditTrigger функционирует как функция, которую нужно запустить, и при редактировании как тип события ( пример конфигурации триггера ) и нажимает кнопку сохранения
Теперь каждый раз, когдаЛист будет изменен, код, указанный выше, будет запущен и, если необходимо, отправит сообщение.