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

Google Apps脚本:用Sheet数据更新Form多选框遇类型转换异常求助

解决Google Form设置多选框选项的报错问题

看起来你踩了一个很常见的类型匹配坑!报错Exception: Invalid conversion for item type: TEXT的核心原因是:你试图给文本类型的表单项设置选项,但文本输入框本身不支持选项列表,而setChoiceValues()只能用于下拉列表(ListItem)或多选框(CheckboxItem)这类带选项的表单组件。

下面给你具体的解决步骤:

1. 先确认表单问题的类型

打开你的Google Form,找到你要填充的那个问题,检查它的类型:

  • 如果是「多选框」或者「下拉列表」,才能用setChoiceValues()设置选项;
  • 如果是「短文本」「段落文本」这类文本输入型问题,必须先把问题类型改成多选框/下拉列表,否则代码肯定报错。

2. 修正代码中的类型转换

根据你的表单问题类型,选择对应的转换方法:

  • 如果是多选框,把asListItem()改成asCheckboxItem():
    var studentNames = ['🚗⛽ Car', '🏥 Healthcare', '📱 Mobile phones'];
    formExpenseTypes.asCheckboxItem().setChoiceValues(studentNames);
    
  • 如果是下拉列表,可以继续用asListItem(),但要确保你获取的formExpenseTypes确实是下拉列表项,而不是文本框。

3. 确认表单项的获取是否正确

检查你获取formExpenseTypes的代码,比如是不是用了:

// 用问题ID获取(推荐,更准确)
var form = FormApp.openById("你的表单ID");
var formExpenseTypes = form.getItemById("问题的ID");

或者通过索引获取:

var formExpenseTypes = form.getItems()[0]; // 这里的索引要对应正确的问题位置

确保拿到的项是你要设置的那个多选/下拉问题,而不是其他文本类型的问题。

按照这个思路调整后,应该就能顺利设置选项了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 22:02:58