更改单元格时发送特定电子邮件

Send specific email when cell is changed

所以我有一个表格并收集电子邮件。 在电子表格中包含状态列 (C) 数据验证:未开始、进行中、待定、已关闭

我是 Google Sheets 脚本编写的新手,所以如果某行的状态 (C) 列更改为已关闭。电子邮件将发送到电子邮件列 (E) 中相应的电子邮件地址。

“您的问题单已解决”等等。 就像我说的,我是编程新手 (javascript) 如果有人能提供帮助,我将不胜感激

Timestamp              _UID          Status        Name     Email Address
6/12/2020 0:47:28   Ticket-21228    Not Started Stan Smith  abc@gmail.com
6/12/2020 0:51:21   Ticket-60128    Closed      John Smith  zxy@gmail.com

这必须是可安装的触发器,因为它使用需要权限的 Gmail。 您需要添加 sheet 姓名和电子邮件

的消息
function onMyEdit(e) {
  //e.source.toast('Entry');
  const sh=e.range.getSheet();
  if(sh.getName()=="Sheet1" && e.range.columnStart==3 && e.value=="Closed") {
    let vA=sh.getRange(e.range.rowStart,1,1,sh.getLastColumn()).getValues()[0];
    var body=Utilities.formatString('You create this')
    GmailApp.sendEmail(vA[4], vA[5], body);  
  }
}

所以你可以直接用这样的东西测试它:

function testMyOnEdit() {
  const ss=SpreadsheetApp.getActive();
  const sh=ss.getSheetByName('Sheet1');
  const rg=sh.getRange(3,3);
  let e={range:{columnStart:3,rowStart:3},source:ss,value:'Closed'};
  e.range=rg;
  onMyEdit(e);
}

执行此操作时不要忘记删除触发器。