Google apps script 如何在Google表单中添加增量字段

Google apps script 如何在Google表单中添加增量字段,google-apps-script,google-forms,Google Apps Script,Google Forms,我想用一个增量id创建一个google表单,并在提交google表单时向用户显示该id。我已经搜索了一些关于它的信息,但我没有根据我的需要得到答案。如果有人知道这方面的任何工作,请让我知道。我对谷歌表单不太了解 我搜索了一下,发现使用谷歌表单附加组件是可能的 我只想要一个包含4-5个字段和一个增量id的简单表单,并希望在提交表单时向用户显示该id。您不能这样做。因为 无法编辑当前响应 无法为窗体的字段设置默认值 你可以代替这个 /** * @typedef {Object} FormSub

我想用一个增量id创建一个google表单,并在提交google表单时向用户显示该id。我已经搜索了一些关于它的信息,但我没有根据我的需要得到答案。如果有人知道这方面的任何工作,请让我知道。我对谷歌表单不太了解

我搜索了一下,发现使用谷歌表单附加组件是可能的


我只想要一个包含4-5个字段和一个增量id的简单表单,并希望在提交表单时向用户显示该id。您不能这样做。因为

  • 无法编辑当前响应
  • 无法为窗体的字段设置默认值
你可以代替这个

/**
 * @typedef {Object} FormSubmit
 * @property {GoogleAppsScript.Forms.Form} source
 */

/**
 *
 * @param {FormSubmit} e
 */
function onsubmit(e) {
  var form = e.source;
  var c = form.getItems()[0].asListItem();
  c.setChoiceValues([+c.getChoices()[0].getValue() + 1]);
}
请参见视频示例

您需要合并从电子表格中动态提取的内容 可能解决方案的工作流程:

function onFormSubmit() {
  var sheet=SpreadsheetApp.openById('ID OF YOUR DESTINATION SPREADSHEET').getActiveSheet();
  var lastRow=sheet.getLastRow();
  var id=lastRow-1;
  FormApp.getActiveForm().setDescription('ID '+id);
}
  • 将表单绑定到目标电子表格(如果尚未完成)
  • 将脚本绑定到表单
  • 撤回,例如,最后一个表单响应的行
  • 使用此值(或根据需要修改)作为增量Id
  • 将此增量ID合并到表单的标题或描述中
  • 将a绑定到主函数
示例:

function onFormSubmit() {
  var sheet=SpreadsheetApp.openById('ID OF YOUR DESTINATION SPREADSHEET').getActiveSheet();
  var lastRow=sheet.getLastRow();
  var id=lastRow-1;
  FormApp.getActiveForm().setDescription('ID '+id);
}
请记住,更改需要几秒钟才能传播,如果表单以更高的频率提交,则ID可能不会直接更新