Create list of all sheet names in Google Apps Scripts

Viewed 10770

My goal

I have two spreadsheets, SpreadSheetA and SpreadSheetB.

I am trying to get a list of the names of all the sheets in SpreadSheetA and add it to the active sheet in SpreadSheetB.

My progress so far

I have the code done but keep getting an error message when I run it.

The error message is "Cannot convert Array to Object[][]" in reference to the line range.setValues(sheetNameArray);.

Here is my code:

function getSheetNamesAndAddToOtherSheet() {
  var spreadSheetAURL = "https://docs.google.com/spreadsheets/d/UNIQUE-ID-HERE/edit"; 
  var sheetNameArray = [];

  var spreadSheetsInA = SpreadsheetApp.openByUrl(spreadSheetAURL).getSheets();

  for (var i = 0; i < spreadSheetsInA.length; i++) {
    sheetNameArray.push(spreadSheetsInA[i].getName());
  }

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var range = sheet.getRange(1, 1, sheetNameArray.length, 1);
  range.setValues(sheetNameArray);
}
2 Answers
Related