You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用App Script通过数组循环创建带单选按钮的表单问题

解决Google Apps Script生成带索引标题的单选表单问题

刚上手App Script就能想到用数组和循环批量生成表单问题,这个思路非常棒!你的代码目前有几个小问题:循环语法不完整、缺少表单实例创建,还有setTitle(item)里的item没有正确关联数组元素。下面我帮你修正并优化代码,同时拆解关键步骤:

方案1:使用预定义的问题数组

如果已经提前把50个问题整理在数组里,可以用这个写法:

// 创建新表单(若要操作已有表单,改用FormApp.openById("你的表单ID"))
var form = FormApp.create("批量单选问题表单");

// 你的问题数组,示例写3个,可扩展到50个
var items = ["Q1", "Q2", "Q3", /* ... 补充到Q50 */];
var choices = ["Successful", "Unsuccessful"];

// 修正循环语法,遍历数组生成每个问题
for (var i = 0; i < items.length; i++) {
  form.addMultipleChoiceItem()
    .setTitle(items[i]) // 通过索引i获取数组中对应的问题标题
    .setChoiceValues(choices)
    .setRequired(true);
}

方案2:动态生成50个问题标题(更高效)

如果你的问题是规律的Q1到Q50,完全不用手动写数组,直接在循环里动态生成标题即可:

var form = FormApp.create("批量单选问题表单");
var choices = ["Successful", "Unsuccessful"];
var totalQuestions = 50; // 总问题数

for (var i = 0; i < totalQuestions; i++) {
  var questionTitle = "Q" + (i + 1); // 动态拼接Q1、Q2...Q50
  form.addMultipleChoiceItem()
    .setTitle(questionTitle)
    .setChoiceValues(choices)
    .setRequired(true);
}

关键修正点说明

  • 表单实例创建:必须先通过FormApp.create()创建新表单,或者FormApp.openById()打开已有表单,否则无法调用addMultipleChoiceItem()方法添加问题。
  • 循环语法修正:原代码里for (i = 0; i < arrayLength; i++ {少了闭合的),正确写法是for (var i = 0; i < 数组长度; i++) {。
  • 标题引用:setTitle()需要传入数组对应索引的元素(items[i]),或者动态生成的标题字符串,而不是未定义的item变量。
  • 变量声明:循环里的i用var(或ES6的let)声明,避免全局变量污染。

运行代码后,你就能得到一个包含50个单选问题的表单,每个问题都有「Successful」和「Unsuccessful」两个选项,且均为必填项。

内容的提问来源于stack exchange,提问作者r3g3x

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:52:34