谷歌脚本编辑功能

时间:2021-01-25 08:20:58

标签: google-apps-script

当我单独打破它以复制记录然后发送邮件时,我下面的代码可以正常工作。

我需要在 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();
} } } } 

1 个答案:

答案 0 :(得分:1)

您需要将此函数作为 installable trigger 而不是 simple trigger 来执行。

要做的事情:

  • 将您的函数重命名为其他名称
  • 通过选择添加触发器从 Triggers 标签手动安装 onEdit 触发器