2016-08-19 8 views
0

フォームが提出された後にTemplateという名前のシートを使用して複製シートを作成したいと思った場合は、「フォームレスポンス1」= 「Yes」をStartという名前のシートのドロップダウンシートから作成し、そのセルの名前とともにTemplateの複製を作成します。私は以下のコードを使用しようとしましたが、簡単な指示に感謝します。Googleシート特定のシートと特定のセルの特定のシートを複製する

function CreateNewTimesheet() 
{  
    // The code below makes a duplicate of the active sheet 
    var ss = SpreadsheetApp.getActiveSpreadsheet() 
    SpreadsheetApp.getActiveSpreadsheet().duplicateActiveSheet(); 

    // The code below will rename the active sheet to Month End date based on cell O3 
    var myValue = SpreadsheetApp.getActiveSheet().getRange("O3").getValue(); 
    SpreadsheetApp.getActiveSpreadsheet().renameActiveSheet(myValue);  
} 

答えて

0

達成しようとしている正確な内容は不明です。

私はいくつかのコード行を書いていますが、これが役立つかもしれません。

function myFunction() { 
    var ss = SpreadsheetApp.getActive(); 
    //get template sheet 
    var templateSheet =ss.getSheetByName('Template').activate(); 
    //make a copy of template sheet 
    var copySheet = ss.duplicateActiveSheet(); 
    //CHange new sheet nane 
    var newSheetName = ss.getRange('Form Resposes 1!A1').getValue(); 
    copySheet.setName(newSheetName); 
} 
+0

ありがとうございます。私の質問ははっきりしていないと私は理解する。私はシートの複製が、セルが埋められていることによってトリガーされ、セルが 'NEW_SHEET_NAME'になることを期待していました。 EG 'Form Reserves 1'A1 = "JEREMY_DUPLICATE"。シートgetSheetByName(' Template ')を複製し、そのセルからではなくsetName(' JEREMY_DUPLICATE ')という名前に変更するトリガーとなります。 ご協力いただければ幸いです。 –

+0

いいえ、新しいシートを挿入するためにセル編集からトリガすることはできません。ただし、フォーム送信時にトリガーできます。私はセルからシート名を取得する方法をコードを更新しました。 –

関連する問題