Google apps script 如何在Google脚本编辑器中从动态表单收集响应
我正在开发一个测验应用程序。我的电子表格中有4个选项的一些问题,我正在从该电子表格生成动态/运行时表单,因此50个用户有50个不同的表单,但我无法收集对当前测验表的回答 Google电子表格脚本编辑器中的代码:Google apps script 如何在Google脚本编辑器中从动态表单收集响应,google-apps-script,google-sheets,google-forms,Google Apps Script,Google Sheets,Google Forms,我正在开发一个测验应用程序。我的电子表格中有4个选项的一些问题,我正在从该电子表格生成动态/运行时表单,因此50个用户有50个不同的表单,但我无法收集对当前测验表的回答 Google电子表格脚本编辑器中的代码: function Quiz(){ var form = FormApp.create('Quiz'); var ss = SpreadsheetApp.getActiveSpreadsheet(), sourceSheet = ss.ge
function Quiz(){
var form = FormApp.create('Quiz');
var ss = SpreadsheetApp.getActiveSpreadsheet(),
sourceSheet = ss.getSheetByName('Sheet1'),
sourceRng = sourceSheet.getDataRange(),
sourceRows = sourceRng.getValues(),
i;
for (i = 1; i < sourceRows.length; i += 1)
{
count = 0;
var item = form.addCheckboxItem();
item.setTitle(sourceRows[i][0]);
item.setChoices([
item.createChoice(sourceRows[i][1]),
item.createChoice(sourceRows[i][2]),
item.createChoice(sourceRows[i][3]),
item.createChoice(sourceRows[i][4]),
item.createChoice(sourceRows[i][5]),
]);
}
}
对于静态表单,我使用下面给定的代码获取响应,但如何使用默认设置生成动态表单,其中我的响应目标为电子表格、用户名和脚本编辑器中的给定代码:
function quizAnswers(){
var form = FormApp.openById(<<dynamic form ID>>);
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());
}}}
使用此选项选择表单的响应 form.setDestinationFormApp.DestinationType.SPREADSHEET,ss.getId
您好,这是工作,但它正在为每个表单提交创建一个新的响应表。e、 如果用户1,用户2,用户3从它提交将创建3个不同的响应表。我会让你知道如何处理这种情况。我不认为有任何方法可以让表单响应在特定的表单中本地登录。我认为您根本不需要设置目的地类型,而是使用GAS手动附加表单响应。谢谢您的回复。如果我在当前的电子表格中使用onSubmite函数,得到所有的响应并将它们写在一个新的表格中,它会对所有用户起作用吗?