Для отправки электронного письма, удовлетворяющего необходимым условиям и формату, вы должны установить Устанавливаемый триггер и использовать подготовленный мной код:
//Installable Trigger
function sendEmail(e) {
// Get sheet, row and column where the event was triggered
var sheet = e.source.getSheetByName("YOUR-SHEET-NAME");
var range = e.range;
var col = range.getColumn();
var row = range.getRow();
// Check if the event meets your conditions
if (col === 9) {
// Get headers and data where the "Ready for QA" was set
var headers = sheet.getRange("A1:P1").getValues()[0];
var data = sheet.getRange(row, 1, 1, 16).getValues()[0];
MailApp.sendEmail({
to: data[7], // user's email Also
subject: `Line item is ${e.value}`,
// Combine the right header with the right data and send them as the body
body: headers.map((el, index) => `${el}: ${data[index]}`).join("\n")
});
}
}
Обратите внимание, как я использовал e
аргумент, который является объектом события для триггера события onEdit для получения значений листа. Кроме того, я бы порекомендовал вам установить для столбца идентификатор заказа формат как Plain text
, поскольку в скрипте Apps это может быть огромное число и, следовательно, в научном формате c.
Теперь, для настройки устанавливаемого триггера, сделайте следующее:
1) Go к вашему проекту скрипта Apps.
2) Нажмите Edit-> Триггеры текущего проекта .
3) Нажмите «+ Добавить триггер».
4) Выберите:
Выберите, какую функцию запустить -> Имя функции (в данном случае sendEmail ).
Выбор источника события-> Из электронной таблицы.
Выберите тип события -> При редактировании.