复制到指定范围

时间:2018-05-16 16:41:17

标签: google-apps-script

我正在尝试将一张特定范围的单元格复制到另一个工作簿,格式和公式完好无损。不知道为什么我不能在表格上找到解决方案,但我仍然遇到麻烦。这就是我目前使用的:

function copytosnapshot() {
var source = SpreadsheetApp.getActiveSpreadsheet();
var sheet = source.getSheets()[0];
var destination = 
SpreadsheetApp.openById("destination_sheet");
sheet.copyTo(destination);
}

我也发现了这一点,但它没有保留格式:

function Copy() {
var sss = SpreadsheetApp.openById('Source-ID'); //replace with source ID
var ss = sss.getSheetByName('LIVE BOARD'); //replace with source Sheet tab 
name
var range = ss.getRange('A1:AC88'); //assign the range you want to copy
var data = range.getValues();
var tss = 
SpreadsheetApp.openById('Destination_ID'); 
//replace with destination ID
var ts = tss.getSheetByName('Sheet11'); //replace with destination Sheet tab 
name
ts.getRange(ts.getLastRow()+1, 1,88,29).setValues(data); //you will need to 
define the size of the copied data see getRange(). Range is 88 rows to 
column AC.
}

我猜第一组代码可以工作我只需要定义变量。这将是一个设定的范围,我不需要拉最后一行或类似的东西。

谢谢, 迈克尔

1 个答案:

答案 0 :(得分:0)

尝试分两步完成:

1)使用copyTo复制值

2)使用copyFormatToRange复制格式

参考:https://developers.google.com/apps-script/reference/spreadsheet/range#copyformattorangegridid-column-columnend-row-rowend