2017-05-14 8 views
2

私が使用しているスクリプトはgitに寄付されています。毎日のデータを上書きするように設計されています。毎日の終わりにデータをコピーし、別のシートに書き出してアーカイブしたいと思います。名前付きシートを作成してデータをキャプチャできますが、新しいシートにデータを貼り付ける際に問題があります。google scripts:ワークシートのシート間でデータをコピーする - 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

パーフェクト!修正と説明をありがとう。乾杯! –

関連する問題