如果之前已经回答过这个问题,我深表歉意,但我已经进行了广泛的研究并且发现不足。
我正在尝试向已存在的 Google 表单的各个部分添加一些问题。
我知道如何添加新问题,
form.addTextItem();
但这会将其附加到表单的末尾。
我还知道如何获取部分列表,
var sections = form.getItems(FormApp.ItemType.PAGE_BREAK);
var section = sections[0];
但我一直无法找到一种方法将问题添加到特定部分,例如,
section.addTextItem();
我不确定这是否是不可能的,或者我是否遗漏了一些非常简单的东西,但令我惊讶的是,之前没有人遇到过这个问题。
任何帮助将非常感激
亲切的问候,
不幸的是,没有方法可以直接将新项目添加到特定部分。那么这个解决方法怎么样?在此解决方法中,使用以下流程。
- 输入要添加新项目的部分的索引。
- Create new item.
- 在此阶段,该项目将添加到最后一部分的最后一个索引中。
- 检索所有部分。
- Retrieve the index of sections.
- 使用 moveItem 方法将创建的项目移动到输入的节索引。
通过这个流程,可以实现向特定部分添加新项目。
示例脚本:
var sectionIndex= 1; // Please set the index you want to insert.
var form = FormApp.getActiveForm();
var newItem = form.addTextItem().setTitle("New sample item").getIndex(); // New sample item
var items = form.getItems(FormApp.ItemType.PAGE_BREAK);
var sections = [0];
for (var i = 0; i < items.length; i++) {
sections.push(items[i].getIndex());
}
var insertIndex = sections[sectionIndex + 1] || null;
if (insertIndex) {
form.moveItem(newItem, insertIndex);
}
Note:
-
In this sample script, the start of
sectionIndex
is 0
.
- 例如,当
sectionIndex
is 1
,创建的项目将添加到第二部分。
- 这是一个示例脚本。所以请根据您的情况进行修改。
参考:
如果这不是您想要的结果,我深表歉意。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)