将数据从一个电子表格复制到另一个Google表格

时间:2018-07-12 16:09:22

标签: google-apps-script google-sheets

我一直坚持要求将任何内容从关闭的Google表格复制到打开的Google表格。 这是我尝试的脚本,调试器无法通过第2行:

function lloydsRestore() {
    var ss =SpreadsheetApp.openById("1ZRHHA1fcXXCXwD4nCjjtIg67DHvtm5pLjmwzJiD3ZgA").getActiveSheet();
    var ls = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Lloyds');
    var values= ls.setActiveSelection("A1:T72").getvalues;

    var bs = App.getActiveSpreadsheet().getSheetByName('BS');
    var bsput = bs.getRange("A1:T72").setValues(values);
}

1 个答案:

答案 0 :(得分:0)

您快到了-脚本中只有一些误解。

您正在打开工作表(ss),因此您使用ss.getSheetByName(...)而不是SpreadsheetApp.getActiveSheet()。getSheetByName(...)

您没有正确调用getValues-您需要()

function lloydsRestore() {

    var ss =SpreadsheetApp.openById('1ZRHHA1fcXXCXwD4nCjjtIg67DHvtm5pLjmwzJiD3ZgA');
    var ls = ss.getSheetByName('Lloyds');
    var values = ls.getRange('A1:T72').getValues();

    var bs = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('BS');
    var bsput = bs.getRange('A1:T72').setValues(values);
}

但是您可能不需要脚本,因为IMPORTRANGE函数的作用与您的函数完全相同。将以下内容放入单元格中,即可导入您的值。

= IMPORTRANGE('https://docs.google.com/spreadsheets/d/1ZRHHA1fcXXCXwD4nCjjtIg67DHvtm5pLjmwzJiD3ZgA','劳埃德!A1:T72')