2017-05-14 67 views
2

我使用的腳本是在git上貢獻的。它旨在重寫每一天的數據。我想在每天結束時複製數據並將其寫入另一張表格以存檔。我可以創建命名錶單並捕獲數據,但我遇到了將數據粘貼到新表單中的問題。谷歌腳本:在工作表中的工作表之間複製數據 - copyTo()不工作

function archiveSheet() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheetByName("copy_of_inverter_data"); 
    var sheetSiteInfo = ss.getSheetByName("details"); 

    //set archive sheet name 
    var currentDate = Utilities.formatDate(sheetSiteInfo.getRange("B5").getValue(), "GMT", "yyyy-MM-dd"); 
    var nextSheet = "id_"+currentDate; 
    // create sheet with current date 
    ss.insertSheet(nextSheet); 
    Logger.log(currentDate); 
    Logger.log(nextSheet); 

    //copy data to new sheet 
    var range = sheet.getDataRange(); 
    var data = range.getValues(); 
    var destination = ss.getSheetByName(nextSheet); 

    Logger.log(range); 
    Logger.log(data); 
    Logger.log(sheet); 

    range.copyTo(nextSheet);//This line not working 
} 

回答

1

這條線:

range.copyTo(nextSheet); 

應該是:

range.copyTo(destination.getRange("A1")); 

您正在使用copyTo(range)所需的參數是一個範圍。您正在使用nextSheet作爲參數,這是一個字符串,而不是範圍。

+0

完美!感謝修復和解釋。乾杯! –

相關問題