Javascript 更改手机时发送特定电子邮件
所以我有一张表格,收集电子邮件。 在电子表格包含状态列(C)中,数据验证:未启动、进行中、挂起、关闭 我对GoogleSheets脚本非常陌生,所以如果行上的status(C)列更改为Closed。电子邮件发送到电子邮件列(E)上相应的电子邮件地址 “你的票已经解决了”等等。 正如我所说,我是编程新手(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
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列中的电子邮件地址在同一行发送电子邮件。