Google apps script 可安装触发器onFormSubmit in Sheets模板不以copy开头
我正在创建一个GoogleSheets模板,该模板与GoogleForms配对,以创建表单响应之外的报告功能。我在google sheets模板中的一个脚本中有一个Google apps script 可安装触发器onFormSubmit in Sheets模板不以copy开头,google-apps-script,google-sheets,triggers,google-forms,Google Apps Script,Google Sheets,Triggers,Google Forms,我正在创建一个GoogleSheets模板,该模板与GoogleForms配对,以创建表单响应之外的报告功能。我在google sheets模板中的一个脚本中有一个onFormSubmit()触发器。当一个新表单链接到图纸模板时,它将启动。问题在于,它似乎不是从GoogleSheets模板的副本开始的,也不是在第一次运行脚本时开始的。有什么见解吗?我已经研究了可安装触发器和简单触发器之间的区别,但没有找到明确的答案 function autoEmails() { var s = Sprea
onFormSubmit()
触发器。当一个新表单链接到图纸模板时,它将启动。问题在于,它似乎不是从GoogleSheets模板的副本开始的,也不是在第一次运行脚本时开始的。有什么见解吗?我已经研究了可安装触发器和简单触发器之间的区别,但没有找到明确的答案
function autoEmails() {
var s = SpreadsheetApp.getActive();
var ss = s.getSheetByName("Report Builder 2");
var emailOneOn = ss.getRange("K3").getValue();
var emailOne = ss.getRange("J4").getValue();
var emailTwoOn = ss.getRange("N3").getValue();
var emailTwo = ss.getRange("M4").getValue();
var responseOne = ss.getRange("I5").getValue();
var responseTwo = ss.getRange("L5").getValue();
/*Logger.log(emailOneOn);
Logger.log(emailOne);
Logger.log(emailTwoOn);
Logger.log(emailTwo);
*/
if(emailOneOn == "On" && emailTwoOn =="On") {
GmailApp.sendEmail(emailOne,"New Request" , responseOne);
GmailApp.sendEmail(emailTwo,"New Request" , responseTwo);
Logger.log("Both On")
}
else if(emailOneOn == "On") {
GmailApp.sendEmail(emailOne,"New Request" , responseOne);
Logger.log("One on")
}
else if(emailTwoOn == "On") {
GmailApp.sendEmail(emailTwo,"New Request" , responseTwo);
Logger.log("two on")
}
else{
Logger.log("Both Off")
}
}
function trigger() {
var formId = FormApp.getActiveForm().getId();
var form = FormApp.openById(formId);
ScriptApp.newTrigger('autoEmails')
.forForm(form)
.onFormSubmit()
.create();
}
当我单独运行
autoEmails()
函数时,其他所有功能都正常工作。谢谢你的帮助 onFormSubmit触发器是在用户提交表单时生成的。副本如何链接到表单?是的,我知道。将创建模板工作表并创建表单。然后,通过选择图纸模板作为响应目标,将表单链接到图纸。我的问题的一部分似乎是在附加表单后提取该表单的id。您好,您可以分享一个带有虚拟数据的表单和工作表的示例吗?我能够解决我遇到的问题。