我正在尝试创建一个可以从Google表单中读取和存储信息的Google表格。我需要此程序在表单提交时将字段添加到我的Google表格中。下面的代码会自动创建一个表单,其中包含表单中的信息。
我目前正在使用记录器来查看他们是否正在使用任何记录器 表格中的信息。他们不是。
如何从表单中检索每个值,然后以编程方式将其附加到我创建的工作表中?
Format-List
答案 0 :(得分:0)
这个答案怎么样?
var sheet = ss.getSheetId(0);
发生错误。提交表单时,由于错误,未运行if (sheet) {
下面的脚本。 getSheetId()
的详细信息为here。如果要将数据导入电子表格中的第一页,请使用var sheet = ss.getSheets()[0];
。formSubmit(e)
哪个功能From Spreadsheet
为On form submit
和e.values
。通过安装触发器,您可以通过脚本检索提交的值。您可以在installed as a trigger。在您的情况下,如果您想使用e.values[1].split(", ")
检索复选框的值,当问题只有一个时,您可以使用e.namedValues["### question name ###"]
执行此操作。如果有多个问题,您可以使用function formSubmit(e) {
var values = e.values[1].split(", ");
var date = values[0];
var name = values[1];
var phone = values[2];
var ss = SpreadsheetApp.openById('1FpRbYC-nfltxoalGV974aDX6A_fEy_MBYBShruRRYfM');
var sheet = ss.getSheets()[0];
if (sheet) {
Logger.log(name);
} else {
Logger.log(phone);
}
sheet.appendRow([date,name,phone]);
}
检索每个值。
从你的剧本,这里假设前者。
{{1}}
如果我误解了你的问题,我很抱歉。
答案 1 :(得分:0)
您的事件是从表单还是从电子表格触发。如果它来自电子表格,则这些是事件对象传递的参数:authmode,values,range和namedValues。如果它来自表单,那么这些是参数:authmode,response和source。