为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

函数式编程 2022-09-29 15:52:06
所以我有一个表格并收集电子邮件。在电子表格中包含状态列 (C) 数据验证:未启动、正在进行、待定、已关闭我对Google表格脚本非常陌生,因此,如果一行上的状态(C)列更改为“已关闭”。电子邮件将发送到电子邮件列 (E) 上的相应电子邮件地址。“您的机票已得到解决”等以这种方式解决。就像我说的,我是编程(javascript)的新手,如果有人能帮忙,将不胜感激Timestamp              _UID          Status        Name     Email Address6/12/2020 0:47:28   Ticket-21228    Not Started Stan Smith  abc@gmail.com6/12/2020 0:51:21   Ticket-60128    Closed      John Smith  zxy@gmail.com
查看完整描述

1 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

这必须是可安装的触发器,因为它使用需要权限的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);

}

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


查看完整回答
反对 回复 2022-09-29
  • 1 回答
  • 0 关注
  • 76 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信