如何修改Apps Script删除表单所有问题但保留指定ID项?
如何保留指定ID的Google表单问题并删除其余项?
你需要修改resetform函数,在遍历表单问题时加入条件判断,仅删除ID不等于1994309330的项。之前的写法不符合JavaScript语法,所以无法生效,以下是正确实现:
function resetform() { const FORM_ID = "你的表单ID"; // 替换为实际的表单ID const KEEP_ITEM_ID = 1994309330; // 需要保留的问题ID const form = FormApp.openById(FORM_ID); const items = form.getItems(); // 遍历所有表单项,仅删除ID不匹配的项 items.forEach(item => { if (item.getId() !== KEEP_ITEM_ID) { form.deleteItem(item); } }); }
关键说明:
- 每个表单问题(
item)可以通过getId()方法获取唯一ID,以此和你要保留的ID做对比。 - 在
forEach的回调函数内加入if判断,确保只有非目标ID的项会被删除,完全适配后续问题数量不固定的场景。 - 这样能保证目标问题的ID和条目位置始终固定,不会影响动态预填充链接的有效性。
内容的提问来源于stack exchange,提问作者OWEN MARSH
相关产品推荐
相关产品推荐

