title: Copy a range in active sheet, create new spreadsheet with custom name, paste range
body: <p>I recently wrote my first Google Apps script that makes a copy of a spreadsheet (including all tabs within that spreadsheet) and places it into a specific folder in the user's Drive.  The copy is renamed based on a cell value in the original spreadsheet.  Here is my script, for reference:</p>
  
  <pre><code>function copyDocument() {
  var ss = SpreadsheetApp.getActiveSpreadsheet(); // Get current active spreadsheet.
  var id = ss.getId(); // Get current active spreadsheet ID.
  var sstocopy = DriveApp.getFileById(id); // Get spreadsheet with DriveApp.
  var sheet = ss.getActiveSheet(); // Get current active sheet.
  var sheet_name = sheet.getRange("B1").getValue(); // Get the value of cell B1, used to name the new spreadsheet.
  var folder_name = sheet.getRange("C23").getValue(); // Get the target folder ID.
  var folder = DriveApp.getFolderById(folder_name); // Get the ID of the folder where you will place a copy of the spreadsheet.
  sstocopy.makeCopy(sheet_name,folder); // Make a copy of the spreadsheet in the destination folder.
  }
  </code></pre>
  
  <p>This script works, but I have been asked to modify it because the script I wrote is copying over unnecessary tabs and data that is causing confusion to users.</p>
  
  <p>The new script should make a copy of a specific range in a specific sheet, create a new spreadsheet, and paste that range into it.  It should also name itself after a cell value in the range.</p>
  
  <p>However, the only method I have come across that specifically copies a sheet into a new spreadsheet is copyTo(spreadsheet).  However, the Google Apps Script Guide specifies that "the copied sheet will be named 'Copy of [original name]'" by default.</p>
  
  <p>I want to be able to rename the copied sheet after a specific cell.  My question is, can I use copyTo(spreadsheet) and give the new spreadsheet a custom name, based on a cell?</p>
  
  <p>Thanks!</p>