我有一个包含数据的电子表格,当用户选择自定义菜单时,将从该电子表格中创建表单。提交这个新创建的表单后,我想通过 onFormSubmit 触发器运行另一个函数(根据 Google 文档模板文件自动创建一个包含表单响应的文档)。
到目前为止我尝试过的是:
function myFunction() {
const spreadsheet = SpreadsheetApp.getActive();
const sheet = spreadsheet.getActiveSheet();
const range = sheet.getRange(2,1,sheet.getLastRow(),sheet.getLastColumn());
const form = FormApp.create(spreadsheet.getName() + ' ' + sheet.getName())
.setDestination(FormApp.DestinationType.SPREADSHEET, spreadsheet.getId());
ScriptApp.newTrigger('newDocFromTemplate').forForm(form).onFormSubmit().create();
// form fields creation
}
function newDocFromTemplate(e) {
// code goes here
}
但是创建的表单没有触发器,并且 newDocFromTemplate() 似乎没有在任何地方被调用。我也尝试将触发器更改为 onOpen 但它似乎也没有创建触发器。
我认为您不能以这种方式创建触发器,因为该函数不会位于新创建的表单的脚本中。
您可以直接从工作表使用 OnSubmit 触发事件,因为您将新表单链接到当前电子表格,并直接从工作表执行您想要的过程!