2017-05-11 167 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); 
    } 
} 

因爲它插入環路,你會得到在腳本運行結束一個白紙內負債,但功能將關閉在此之前可以手動或在循環結束時刪除。

相關問題