【发布时间】:2018-08-30 12:38:55
【问题描述】:
这个错误信息快把我逼疯了。这可能很简单,但我对此很陌生。我很感激我能得到的任何帮助。
此计划适用于我们的员工通过 Google 表单提交的设备检查。它应该从提交的电子表格中获取原始数据,检查是否有特定于设备的电子表格 - 如果有,它应该制作一张带有检查日期的新表格,如果没有,它应制作一个新的电子表格,以设备的单元号为标题。然后,我希望将原始数据复制到新的电子表格/工作表中。
这部分完成后,我需要编写代码以将新工作表上的原始数据格式化为更易读和用户友好的格式 - 但我还没有完成。
问题是当我尝试将标题值插入新工作表(第 17 行)时 - “TypeError:无法在对象电子表格中找到函数 setValues。(第 17 行,文件“代码”)”
这是我目前的代码:
function onFormSubmit() {
// onFormSubmit
// get submitted data
var ss = SpreadsheetApp.openById("1PieNQjjgjsZIEhTwmzGN9BcUXPSscWnWnnYL8XvjpTA");
var sheet = ss.getSheetByName("Submissions");
var row = sheet.getLastRow();
var Col = sheet.getLastColumn();
var headings = sheet.getRange(1,1,1,Col).getValues();
var lastRow = sheet.getRange(row, 1, 1, Col);
var UnitNumber = sheet.getRange(row,3,Col).getValue();
// check if username has sheet
if(ss.getSheetByName(UnitNumber)){
var DrillSheet = ss.getSheetByName(UnitNumber);
// if not make
} else {
var DrillSheet = SpreadsheetApp.create(UnitNumber);
DrillSheet.getRange(1,1,1,Col).setValues(headings);
}
// copy submitted data to Drill sheet
DrillSheet.appendRow(lastRow.getValues()[0]);
DrillSheet.appendRow(['=CONCATENATE(B6," ",B5)']);
DrillSheet.appendRow(['=TRANSPOSE(B1:2)']);
}
提前感谢您的帮助。
【问题讨论】:
-
考虑添加错误信息,让您的案例更容易理解。
-
谢谢,已添加错误信息。
-
RangevsSheetvsSpreadsheet- 它们是不同的类。
标签: google-apps-script google-sheets google-forms