gpt4 book ai didi

javascript - Google 表单提交时调用脚本的更快/更有效的方法

转载 作者:行者123 更新时间:2023-12-01 01:46:30 24 4
gpt4 key购买 nike

我需要一个 Google 脚本在用户提交表单时运行。我无法在表单提交时使用电子表格中的简单“添加项目触发器”,因为此电子表格附加了多个表单。我目前解决此问题的方法在大多数情况下都有效。我经常遇到服务器错误,我认为这是由于这种效率极低的代码造成的。有人对如何改进这个有建议吗?

var allTriggers = ScriptApp.getProjectTriggers();
for(i=0;i<allTriggers.length;i++)
ScriptApp.deleteTrigger(allTriggers[i]);
var form = FormApp.openById('1tFb-_oaGPRvWpdvXz6nx01rk71m-lLQnM5arjbuz3r4');
ScriptApp.newTrigger('sendEmails')
.forForm(form)
.onFormSubmit()
.create();

编辑:感谢您的帮助。这能解决问题吗?

var form = FormApp.openById('1Cu14yeOAUYdCST-G8uipGOVPW4qArVcT-7_ElQpmkgE');
var allTriggers = ScriptApp.getProjectTriggers();
if(allTriggers.length<1){
ScriptApp.newTrigger('sendEmailToTutor')
.forForm(form)
.onFormSubmit()
.create();
} else if(allTriggers.length>1) {
ScriptApp.deleteTrigger(allTriggers[2]);
}

这样,我仅在金额错误时创建/删除触发器。

最佳答案

您可以安装一个 onFormSubmit(event) 触发器。事件对象是添加的单元格的范围。从该范围内,您可以获取受影响的工作表,例如“Form Response 1”、“Form Response 2”等。然后在函数 onFormSubmit(event) 中有一个开关

function onFormSubmit(event) {
switch(event.range.getSheet().getName()) {
case "Form Response 1":
// do something
break;
case "Form Response 2":
// do something else
break;
}
}

关于javascript - Google 表单提交时调用脚本的更快/更有效的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51912386/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com