创建 Google 表单并从 Sheets Apps 脚本向其添加可安装的触发器

问题描述 投票:0回答:1

我有一个包含数据的电子表格,当用户选择自定义菜单时,将从该电子表格中创建表单。提交这个新创建的表单后,我想通过 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 但它似乎也没有创建触发器。

google-apps-script
1个回答
0
投票

我认为您不能以这种方式创建触发器,因为该函数不会位于新创建的表单的脚本中。

您可以直接从工作表使用 OnSubmit 触发事件,因为您将新表单链接到当前电子表格,并直接从工作表执行您想要的过程!

© www.soinside.com 2019 - 2024. All rights reserved.