【发布时间】:2014-12-13 06:51:16
【问题描述】:
我正在尝试生成一个脚本来打开一个谷歌表单并填写它。
我已经能够通读文档并执行以下操作: 使用它的 ID 选择一个表单,在“item”数组中获取问题列表,获取问题的类型及其 ID,通过 id 获取项目,通过各种类型返回它并对元素进行各种“选择”在表格中。
我无法 1. 为表单中的特定项目设置响应,或者 2. 提交带有响应的表单。无论我做什么,formReponse 对象都是空的。
formResponse,尽管是一个类,但没有 for 循环会出现未定义,除非我在那里有该代码。
function myFunction() {
var form = FormApp.openById('1h_8Gz5GKwLqUdw249rpMWu6-AlrDJgUig-rdMCC7TWU');
//form.addTextItem();
var items = form.getItems();
Logger.log(items);
// Access the text item as a generic item.
var item1 = items[0];
Logger.log(item1);
var item1type = item1.getType();
Logger.log(item1type);
var item1id = item1.getId();
var getitem1 = item1.asTextItem();
var getitem1t = form.getItemById(item1id);
var response = "tewtw";
getitem1t.createResponse(response);
var formResponses = form.getResponses();
for (var i = 0; i < formResponses.length; i++) {
var formResponse = formResponses[i];
var itemResponses = formResponse.getItemResponses();
for (var j = 0; j < itemResponses.length; j++) {
var itemResponse = itemResponses[j];
Logger.log('Response #%s to the question "%s" was "%s"',
(i + 1).toString(),
itemResponse.getItem().getTitle(),
itemResponse.getResponse());
}
formResponse.submit();
}
谢谢!
【问题讨论】:
-
您是否在电子表格中收集表单响应?如果是这样,我建议采取不同的方法。无需自动填写和提交表单,而是使用电子表格服务直接插入您的数据。
标签: javascript arrays google-apps-script