Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改手机时发送特定电子邮件_Javascript_Google Apps Script_Google Sheets_Google Forms - Fatal编程技术网

Javascript 更改手机时发送特定电子邮件

Javascript 更改手机时发送特定电子邮件,javascript,google-apps-script,google-sheets,google-forms,Javascript,Google Apps Script,Google Sheets,Google Forms,所以我有一张表格,收集电子邮件。 在电子表格包含状态列(C)中,数据验证:未启动、进行中、挂起、关闭 我对GoogleSheets脚本非常陌生,所以如果行上的status(C)列更改为Closed。电子邮件发送到电子邮件列(E)上相应的电子邮件地址 “你的票已经解决了”等等。 正如我所说,我是编程新手(javascript),如果有人能帮我,我将不胜感激 Timestamp _UID Status Name Email Addre

所以我有一张表格,收集电子邮件。 在电子表格包含状态列(C)中,数据验证:未启动、进行中、挂起、关闭

我对GoogleSheets脚本非常陌生,所以如果行上的status(C)列更改为Closed。电子邮件发送到电子邮件列(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。 您需要为电子邮件添加工作表名称和消息

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

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

欢迎使用堆栈溢出!您已经编写了哪些代码?请仔细阅读,然后在问题中加入并标记代码。干杯看一看,一个简单的触发器无法发送电子邮件,因为Gmail服务需要授权Hi@Cooper,我很抱歉,因为我对编码还是很陌生,(确切地说是生锈)。基本上,我在另一个帖子里看到了你的回复,但C列上的单元格更改为closed,则电子邮件地址位于同一行的E列。我修改了你的回复,触发器正在工作。只是我没有收到电子邮件。(不是权限问题,因为我设置的另一个触发器(onFormSubmit)起作用)。如果我是新来的,我很抱歉。我仍然不清楚你想要什么。如果你能举出一个例子,也许我能弄明白。或者给我提供你所拥有的和你想要的东西的图像。不要麻烦给我电子表格的链接,因为我不会点击它。@Cooper我明白,我用一张图片更新了我的问题。如果C列更改为“已关闭”,请使用E列中的电子邮件地址在同一行发送电子邮件。