【发布时间】:2021-09-27 07:09:03
【问题描述】:
我已经尝试了以下脚本的 10 多种变体,以尝试实现我认为的简单功能,即复制 Google 表格最后一行中的值并将它们粘贴到倒数第二行。包含数据的最后一行和倒数第二行总是在变化,所以我不能为任何一个指定静态范围。这是我写的最接近的两个版本:
function Export() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var database = SpreadsheetApp.openById("xxx");
var source = ss.getSheetByName('aaa');
var last_row = source.getLastRow();
var second_last_row = (last_row-1);
var copyData = source.getRange(second_last_row).setValues(last_row);
}
这里的错误是“var CopyData”行的“未找到范围”。如果我重写这一行如下: var copyData = source.getRange.second_last_row.setValues(last_row); 我收到一条错误消息,提示“无法读取未定义的属性 'setValues'”。
我也试过这个版本:
function copyv() {
var target = SpreadsheetApp.openById("xxx");
var target_sheet = target.getSheetByName("aaa");
var last_row = target_sheet.getLastRow();
let source = last_row
let destination = last_row-1
source.copyTo(destination, SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
}
在这个示例中,我得到“source.copyTo 不是函数”的错误,尽管这适用于我编写的范围是静态的其他函数(例如:A5:BC,而不是“last_row”)。
非常感谢任何和所有帮助。
【问题讨论】:
标签: google-apps-script google-sheets