【发布时间】:2018-03-15 01:16:11
【问题描述】:
我正在编写一个脚本来循环遍历一个电子表格中的每个工作表,并将特定单元格中的数据复制到另一个电子表格的相应工作表中。但是,我在以下代码的第 18 行收到错误,指出它无法调用 null 的 getLastRow 方法。我使用了几行 Logger.log 来检查我的变量并看到 targetSheet 返回为空。关于我做错了什么有什么建议吗?
//Export each sheet's daily data to another sheet *Test Version*
function exportReports() {
var sourceSS = SpreadsheetApp.getActiveSpreadsheet();
//Open Back Production Record *Test Version*
var targetSS = SpreadsheetApp.openById("1ZJKZi-UXvqyGXW9V7KVx8whxulZmx0HXt7rmgIJpUY4");
var allSourceSheets = sourceSS.getSheets();
//For-Loop to loop through hourly production sheets, running the move data for-loop on each
for(var s in allSourceSheets){
var loopSheet = allSourceSheets[s];
var loopSheetName = loopSheet.getSheetName();
var targetSheet = targetSS.getSheetByName(loopSheetName);
Logger.log(s);
Logger.log(loopSheet);
Logger.log(targetSheet);
Logger.log(loopSheetName);
var targetRow = targetSheet.getLastRow()+1;
var currentDate = Utilities.formatDate(new Date(), "GMT-5", "MM/dd/yy");
targetSheet.getRange(targetRow, 1).setValue(currentDate);
//For-Loop to move data from source to target
for(var i=6;i<=10;i++){
var sourceRange = sourceSheet.getRange(i, 2);
var targetRange = targetSheet.getRange(targetRow, i-4);
var holder = sourceRange.getValue();
targetRange.setValue(holder);
}
}
}
【问题讨论】:
-
如果把不推荐的
for-in循环换成传统的索引循环,还有问题吗? stackoverflow.com/questions/500504/… -
谢谢;这对这个问题很有帮助,并且总体上提高了我的知识。非常感谢。
标签: google-apps-script google-sheets