2017-05-11 169 views
0

我有每周更新的Google电子表格。它包含多个工作表,这些工作表每周都有不同的名称。Google表格脚本 - 将整个外部电子表格复制到当前电子表格

有没有使用Google脚本将所有工作表从该电子表格复制到另一个电子表格的方法?我的主要目标是复制整个电子表格,并让我运行脚本的工作表拥有源表中的所有工作表和数据。如果这个复制过程只复制数据,而不是来自另一个表格的公式,那也是很棒的。

在此先感谢!

埃里克

+0

Eric你好。你能给我们提供一些你已经写过的代码示例吗? –

回答

1

我写这从源头上表可以运行,但它可以很容易地适应全面运行的其他方式。这将只获取单元格值而不是公式,并且目前它会创建一个附加日期的新电子表格。

function copyEntireSpreadsheet(){ 
    var ss,ssName,sheet,sheetName,data,destination 
    ss = SpreadsheetApp.getActiveSpreadsheet().getSheets(); 
    ssName = SpreadsheetApp.getActive().getName(); 
    destination = SpreadsheetApp.create(ssName + " - " + new Date().toLocaleString()); 
    for (var i = 0; i < ss.length; i++){ 
    sheet = ss[i]; 
    sheetName = sheet.getSheetName(); 
    data = sheet.getSheetValues(1, 1, sheet.getLastRow(), sheet.getLastColumn()); 
    destination.insertSheet(sheetName) 
    destination.getSheets()[i].getRange(1, 1, sheet.getLastRow(), sheet.getLastColumn()).setValues(data); 
    } 
} 

因为它插入环路,你会得到在脚本运行结束一个白纸内负债,但功能将关闭在此之前可以手动或在循环结束时删除。

相关问题