【问题标题】:google form script not triggering谷歌表单脚本未触发
【发布时间】: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


【解决方案1】:

此脚本(在表单提交时触发)应绑定到电子表格,而不是表单中。 我希望能解决它。

尝试删除“e.values”和 [] 之间的间距。 例如e.values [1] 应该是 e.values[1]

脚本不应附加到表单,而只能附加到电子表格。

【讨论】:

  • 我在电子表格和表单中都有脚本,但它似乎没有触发。你发现代码有什么问题吗?
  • 间距无关; values [1]values[1]values [ 1 ] 相同。
  • 谢谢大家,现在可以使用了!我按照 Serge 的建议设置了通知,我发现第 14 行引用了我没有定义为 e.values[0] 的时间戳。所以我删除了它,脚本完美运行。但是,当我尝试如下定义时: var timeStamp = e.values [0] 它不起作用。无论如何,我删除了它,它现在可以工作了!再次感谢
猜你喜欢
  • 1970-01-01
  • 2019-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多