【发布时间】:2018-09-14 18:37:46
【问题描述】:
在 Google 表单/表格中构建请求批准流程时我需要帮助
我有一个类似于下面的数据响应表,A 到 J 列的标题是 “时间戳”“电子邮件地址”“名称”“目标”“帐户#”“原因”“访问(天)”“批准人”“批准”“案例 ID”
我已经通过 formMule AddOn 设置了一个表单提交电子邮件触发器到 Approval 正文,现在我想在 Approval body 批准或不批准数据响应表中的请求时触发电子邮件。
每当有人在“I”列中选择“Y”或“N”时,脚本应该假设根据该行中存在的数据触发电子邮件。
我不是专家,但尝试使用以下脚本执行此操作,但不幸的是没有得到理想的结果,我将其设置为当前项目触发器到 OnEdit
function sendNotification1(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Form Responses 1");
if(e.range.getColumn() == 9 && e.value == "Y")
{
var name = e.range.offset(0,-6).getValue();
var comment = e.range.offset(0,-3).getValue();
var email = e.range.offset(0,-7).getValue();
var case1 = e.range.offset(0,1).getValue();
var approver1 = e.range.offset(0,-1).getValue();
var subject = "Request has been Approved";
var body = "Hi " + name + ", your Change Request number " + case1 + " has been approved by " + approver1 + " with following comments: " + "\n\r" + comment;
MailApp.sendEmail(email, subject, body);
}
if(e.range.getColumn() == 9 && e.value == "N")
{
var name = e.range.offset(0,-6).getValue();
var comment = e.range.offset(0,-3).getValue();
var email = e.range.offset(0,-7).getValue();
var case1 = e.range.offset(0,1).getValue();
var approver1 = e.range.offset(0,-1).getValue();
var subject = "Request has been Disapproved";
var body = "Hi " + name + ", your Change Request number " + case1 + " has been Dis-Approved by " + approver1 + " with following comments: " + "\n\r" + comment;
MailApp.sendEmail(email, subject, body);
}
}
StackDriver 日志记录显示以下错误,但在引用单元地址时无法确定问题所在。
2018-09-14 08:19:06.336 PKT 范围的坐标或尺寸无效。在 sendNotification1(代码:6)
我可以使用以下代码触发任何编辑事件的电子邮件,但条件编辑事件触发器没有运气。
function sendNotification1(e) {
MailApp.sendEmail("myemail@companygmail.com", "Sample subject", "Sample body");
}
在调试代码时,我可以看到以下错误 TypeError:无法从未定义中读取属性“范围”。 (第 6 行,文件“代码”)
我们将不胜感激任何帮助
【问题讨论】:
-
添加的行如下 function sendNotification1(e) { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName("Form Responses 1"); if(e.range.getColumn() == 9 && e.value == "Y") 但仍然没有收到电子邮件,当我运行调试器时它显示 TypeError: Cannot read property "range" from undefined。 (第 6 行,文件“代码”)
-
尝试将 sendNotifications 的名称更改为 onEdit
标签: google-apps-script google-sheets