我正在尝试在提交用户表单时自动从电子表格发送电子邮件。该表格涵盖了许多流程(订购燃料,接收燃料等),我只希望通过燃料订单发送电子邮件 - 因此需要将警报限制在特定列。
我从其他例子中得到了以下内容,非常确定我已经接近了但可能会遗漏一些显而易见的事情......
function sendNotification() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
if(sheet.getName()=='Form Responses 1'){
var cell = ss.getActiveCell().getA1Notation();
var cellcol = cell.getColumn();
if(cellcol == 4){
var cellvalue = ss.getActiveCell().getValue().toString();
var recipients = "email@email.com";
var subject = 'New fuel order for '+cellvalue;
var body = 'A new fuel order has been placed for ' + cellvalue + '. Please action asap: «' + ss.getUrl() + '»';
MailApp.sendEmail(recipients, subject, body);}
}
}
我一直工作,直到我添加了行来查找单元格列,if函数只有在编辑位于D列时才继续 - 之前对表单响应表的任何编辑都触发了通知。
非常感谢
答案 0 :(得分:0)
这一行(?<=[^\W\d_]),(?=[^\W\d_]|\s)
从google apps脚本角度看单元格为var cell = ss.getActiveCell().getA1Notation();
,而不是单元格,因此String
不执行任何操作。
相反,我建议简单地
.getColumn()