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

时间:2020-06-10 22:21:17

标签: javascript google-apps-script google-sheets google-forms

因此,我有一个表格并收集电子邮件。 电子表格中包含“状态”列(C)的数据验证:未开始,进行中,待处理,已关闭

我是Google表格脚本的新手,因此如果将状态(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

1 个答案:

答案 0 :(得分:0)

这必须是可安装的触发器,因为它使用需要许可的Gmail。 您需要添加工作表名称和电子邮件消息

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);
}

这样做时,请不要忘记删除触发器。

相关问题