【发布时间】:2021-10-11 00:10:49
【问题描述】:
大家好,
我有 2 张谷歌表格,Source 和 Destination。我想使用谷歌应用程序脚本将一系列数据从源表复制到目标表。所以数据应该出现在目标表的最后一行。这是我的代码:
function copyInfo() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var copySheet = ss.getSheetByName("Source");
var pasteSheet = ss.getSheetByName("Destination");
// get source range
var source = copySheet.getRange(3,1,1,10);
// get destination range
var destination = pasteSheet.getRange(pasteSheet.getLastRow()+1,1,1,10);
// copy values to destination range
source.copyTo(destination);
}
似乎脚本只允许我在一个谷歌表(不同的标签)而不是两个不同的谷歌表中进行复制。我可以知道我应该如何修改它,以便脚本能够找到我的目标谷歌表并将数据粘贴到最后一行?任何帮助将不胜感激!
我尝试使用onEdit 触发脚本,但似乎无法正常工作。以下是我的脚本:
function onEdit(e) {
if (e.range.columnStart == 11 && e.range.rowStart == 3){
var ss = SpreadsheetApp.getActiveSpreadsheet();
const id ='1r5Hygl5ysahMi6DQ3duDR5L8c4aGX_0CJba7lXxnejw';
var copySheet = ss.getSheetByName("Sheet1");
var pasteSheet = SpreadsheetApp.openById(id).getSheetByName("Sheet1");
if (e.value == 'Submit'){
var source = copySheet.getRange(3,1,1,10);
const values = source.getValues();
var destination = pasteSheet.getRange(pasteSheet.getLastRow()+1,1,1,10);
destination.setValues(values);
}
}
}
来源: https://docs.google.com/spreadsheets/d/1jnOvE-Dc7y9o7GsgN9fjOXZWlUCwiJayugX5q4Y3CA0/edit#gid=0
目的地: https://docs.google.com/spreadsheets/d/1r5Hygl5ysahMi6DQ3duDR5L8c4aGX_0CJba7lXxnejw/edit#gid=0
【问题讨论】:
标签: google-apps-script google-sheets copy-paste