【发布时间】:2014-11-29 12:54:14
【问题描述】:
我正在尝试在 Google 表单中创建工作流程。它是一个简单的休假申请表,员工提交该表以获得经理、人力资源和最终管理层的批准。
表单结果按预期输入谷歌表格。我已经在表单中编写了以下脚本,后来也在表单中编写了一个触发器,并设置了“提交表单”的触发器。它昨晚运行良好,并且能够发送我编程到脚本中的电子邮件确认。无论出于何种原因,它决定今天不工作。有人能告诉我他们认为哪里出了问题吗?最好还是在表单或电子表格中创建脚本。我的感觉是在电子表格中可能会更好,但我可能是错的。昨晚脚本确实运行时,我不确定哪个有效(工作表中的那个或表格中的那个)。我每次提交的测试只收到一封电子邮件。这是代码:
function leaveProcessInput(e) {
var username = e.values [1];
var name = e.values [2];
var department = e.values [3];
var leaveType = e.values [4];
var fromDate = e.values [5];
var toDate = e.values [6];
var reason = e.values [7];
var releiver = e.values [8];
var contactAway = e.values [9];
var subject = "Your " + leaveType + "Application Form has been submitted";
var message = "Dear " + name + ", your " + leaveType + "from " + fromDate + "to " + toDate + "Application Form has been submitted at " + timestamp + ". You will be notified of its status once we have processed it. Regards, Finance & Admin team.";
MailApp.sendEmail(username, subject, message);
}
非常感谢您对上述内容的帮助。
【问题讨论】:
-
我建议您将触发通知设置为“立即”,这样您就可以看到发生了什么。此参数在您设置触发器的同一资源/触发器菜单中可用。
-
您正在索引到
e.values,期望会有0..9的项目。但是,如果没有回答任何问题,则数组将跳过它们。请参阅this answer 了解解决方法。
标签: forms google-apps-script google-sheets google-spreadsheet-api google-forms