应用程序脚本getLastRow错误(

Apps Script getLastRow error (

本文关键字:错误 getLastRow 脚本 应用程序      更新时间:2023-09-26

我正在为日程安排模板创建一个归档函数。

我通过以下代码使其工作:

// https://developers.google.com/apps-script/reference/spreadsheet/range
function copySchedule2() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var source = ss.getSheets()[3];
  var destination = ss.getSheets()[4];
  var range = source.getRange("A1:X64");  
  range.copyFormatToRange(destination, 1, 26, 1, 64);
  range.copyValuesToRange(destination, 1, 26, 1, 64);
}

然而,由于这是一个正在进行的归档,我试图将每周的时间表添加到以前归档的底部。我尝试了这个代码:

function copySchedule() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var source = ss.getSheets()[3];
  var destination = ss.getSheets()[4]; 
  var range = source.getRange("A1:X64");  
  source.getRange("A:X").copyTo(destination.getRange(destination.getLastRow()+1));
}

但我得到了一个错误:

[15-10-26 17:24:28:093 EDT] Starting execution
[15-10-26 17:24:28:099 EDT] SpreadsheetApp.getActiveSpreadsheet() [0 seconds]
[15-10-26 17:24:28:191 EDT] Spreadsheet.getSheets() [0.092 seconds]
[15-10-26 17:24:28:193 EDT] Spreadsheet.getSheets() [0.001 seconds]
[15-10-26 17:24:28:243 EDT] Sheet.getRange([A1:X64]) [0.049 seconds]
[15-10-26 17:24:28:302 EDT] Execution failed: Cannot convert function FindRows() { destinationRange = SpreadhseetApp.getActiveSpreadsheet().getSheets()[4].getLastRow(); return destinationRange; } 1 to (class). (line 36, file "Copy v0.5") [0.146 seconds total runtime]

我是JS的新手,所以也许有人可以为我指明正确的方向。我错过了什么?

copyTo()需要引用一个单元格来知道应该将数据粘贴到哪里。当getLastRow()返回一个数字时,您只需要给它一个行号。

尝试附加一个,1来告诉它开始在列a:中粘贴

source.getRange("A:X").copyTo(destination.getRange(destination.getLastRow()+1, 1));