从表格生成中创建新的Google表格

时间:2016-03-09 04:53:39

标签: google-apps-script google-sheets google-form

我正在使用多页表单完成4个不同任务的任务,这些任务基于对第一页上第一个问题的第一个响应。其中之一是根据表单响应创建新工作表。我想创建一个新工作表,如果尚未根据“选择工人:”问题的响应创建一个工作表,如果是,则将响应移动到该工作表。我发现另一个问题的功能完全有效,除了我无法将表单重命名为问题的响应,即“工人姓名”。

yes you can save the array of dictionary.allkeys, then put it in the for loop.


let arrayOFKeys = dictionary.allKeys
for(int i=0;i<arrayOFKeys.count;i++)
{
 dictionary.valueforKey(arrayOFKeys.objectAtIndex[i]) // here you will get value and key(root) as well
//key = arrayOFKeys.objectAtIndex[i]
//value = dictionary.valueforKey(arrayOFKeys.objectAtIndex[i])

}

我不确定我是否遗漏了什么。任何帮助是极大的赞赏。谢谢你提前。

2 个答案:

答案 0 :(得分:0)

我认为问题是namedValues中的所有条目都是arrays。尝试将e.namedValues['Select The Worker:']更改为e.namedValues['Select The Worker:'].toString()

答案 1 :(得分:0)

根据Google Apps documentation,表单提交对象函数.namedValues()返回对象,您需要将带有字符串数据类型的变量或对象传递给方法.insertSheet(sheetname)

改为实施。

var destSheet = getSheet(ss, e.namedValues['Select The Worker:'][0]);

您只需要在对象内指定数组的索引。