谷歌脚本列更改电子邮件通知

时间:2017-02-25 18:48:26

标签: email notifications google-sheets

这是我第一次尝试编写任何类型的脚本,并发布了一个问题。

我创建了一个Google工作表,我希望每次在此电子表格中添加一行时发送电子邮件通知(或者为了简单起见,每次在A列中填充新单元格时)。< / p>

我一直在搜索这些论坛几个小时,并整理了以下脚本,并尝试安装“onedit”和&amp; “onchange”在谷歌脚本中触发,但没有任何效果。

以下链接很有帮助,但仍然无法获得我想要的结果。在相关编辑后,不会自动触发任何通知。

how to attach onChange cell value event/script to google sheet

email notification if cell is changed

  //Open function

function sendNotification() {

//Get spreadsheet & sheet

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();

//Define notification details

var recipients = "myname@email.com";
var subject = "New lead";

var body = 'A new lead has been added to Simba. For message: ' + message + '';

//Specify several sheet variables

var cell = ss.getActiveCell().getA1Notation();
var row = sheet.getActiveRange().getRow();
var cellvalue = ss.getActiveCell().getValue().toString();
var message = '';

//Specify if statement

  if(cell.indexOf('A')!=-1){ 
    message = sheet.getRange('B'+ sheet.getActiveCell().getRowIndex()).getValue()
  }

//Send the Email

MailApp.sendEmail(recipients, subject, body);

//Close function

};

1 个答案:

答案 0 :(得分:0)

var body = 'A new lead has been added to Simba. For message: ' + message + '';

在此行,“消息”未定义。它发生错误。由此错误,无法发送邮件。因为“消息”的定义低于此行。所以请将此行更改为

message = sheet.getRange('B'+ sheet.getActiveCell().getRowIndex()).getValue()

请为此功能安装触发器。安装触发器的方法显示在参考URL中。