Google script to copy and rename a sheet and name is based on a cell reference

后端 未结 3 1740
名媛妹妹
名媛妹妹 2020-12-11 04:17

I\'m new to google scripts and I need to copy the current active sheet to a new sheet and then rename this sheet based on a cell value. My issue is the cell value is a date

3条回答
  •  忘掉有多难
    2020-12-11 05:03

    You would need to format the value into a string and then use it to set the name.

    var localTimeZone = "Europe/London";
    var dateFormatForFileNameString = "yyyy-MM-dd'at'HH:mm:ss";
    
    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();
     var dateString = getDateString_(myValue);
     SpreadsheetApp.getActiveSpreadsheet().renameActiveSheet(dateString);
    }
    
    //Function to get Date as a string
    function getDateString_(dateValue) {
          return Utilities.formatDate(dateValue, localTimeZone,
                                      dateFormatForFileNameString);
    }
    

    Hope that helps.

提交回复
热议问题