当我单独打破它以复制记录然后发送邮件时,我下面的代码可以正常工作。
我需要在 onedit 复制记录后运行发送邮件功能。该代码仅复制记录但不发送邮件。手动执行时邮件代码有效。
function onEdit(event){ var ss = SpreadsheetApp.getActiveSpreadsheet();var s = event.source.getActiveSheet(); var r = event.source.getActiveRange();
if(s.getName() == "UK STOCK ALERTS" && r.getColumn() == 5 && r.getValue() == "Back Orders Accepted") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("AlertMailOut");
var target = targetSheet.getRange(1,16)
s.getRange(row, 1, 1, numColumns).copyTo(target);
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("AlertMailOut"); var startRow = 2; var numRows = 40; var dataRange = sheet.getRange(startRow, 1, numRows, 100); var data = dataRange.getValues(); for (var i = 0; i < data.length; ++i) {var row = data[i]; var emailAddress = row[0];var message = row[1]; // Second column
var emailSent = row[4]; // Third column
if (emailSent !== EMAIL_SENT) { // Prevents sending duplicates
var subject = 'Brick Fanatics Stock Update';
MailApp.sendEmail(emailAddress, subject, message);
SpreadsheetApp.flush();
} } } }
答案 0 :(得分:1)
您需要将此函数作为 installable trigger 而不是 simple trigger 来执行。
要做的事情:
Triggers
标签手动安装 onEdit 触发器