【发布时间】:2015-11-05 21:26:20
【问题描述】:
我有一个 Google 表格,它存储了我的表单的答案,理论上应该通过从我的表单标签为“更改位置”的下拉列表中选择的值来存储回复。到目前为止,脚本准确地从每个响应创建一个新工作表,并将包含该响应信息的行添加到新创建的工作表,但它为每个响应创建一个新工作表,而不是添加包含从“更改位置”中选择的相同值的添加响应"到同一张纸上。
我认为这是因为destSheet 变量(查找“更改位置”的值)和getSheet() 函数之间存在脱节,但我可能错了。
这是我的代码:
function onSubmit(e) {
//Open Marketing - Discoveries and Changes - v1
var sheet = e.range.getSheet();
//Return Spreadsheet that contains this sheet
var ss = sheet.getParent();
//Open Marketing - Discoveries and Changes - v1
var form = FormApp.openByUrl(ss.getFormUrl());
//Destination sheet based on "Location of Change"
var destSheet = getSheet(ss, e.namedValues["Location of Change"]);
//Store response in destination sheet
destSheet.appendRow(e.values);
function getSheet( spreadsheet, sheetName, headings) {
spreadsheet = SpreadsheetApp.getActive();
var sheet = spreadsheet.getSheetByName(sheetName);
if (sheet == null) {
sheet = spreadsheet.insertSheet(sheetName);
if (headings && headings.constructor === Array) {
sheet.getRange(1,1,1, headings.length).setValues([headings]);
}
}
return sheet;
}
}
【问题讨论】:
标签: google-apps-script google-sheets