Steven Greenbaum
Steven Greenbaum

Reputation: 331

Desired sheet not being activated

This code involves three spreadsheets

  1. The spreadsheet the code is in
  2. An source spreadsheet referred to as unstructuredSheets
  3. A target spreadsheet referred to as structuredSpreadsheet.

The instruction structuredSheet.activate doesn't seem to do anything. The first sheet in the structuredSpreadsheet remains active. Any ideas why that would be?

function     importUnstructuredSpreadsheet2(unstructuredId,structuredId){
    //this function uses copy/paste

        var ssUnstructured=SpreadsheetApp.openById(unstructuredId);
        var numUnstructuredSheets= ssUnstructured.getSheets().length;  


    var ssStructured=SpreadsheetApp.openById(structuredId ); 
    var numStructuredSheets= ssStructured.getSheets().length;
    for (var n = 0; n < numUnstructuredSheets ; n++ ) {



     var unstructuredSheets=ssUnstructured.getSheets();
     var unstructuredSheet= unstructuredSheets[n];
     var structuredSheets=  ssStructured.getSheets();

     sheetName=unstructuredSheet.getSheetName();

     var usedRange =  unstructuredSheet.getDataRange(); 
     var structuredSheet=ssStructured.getSheetByName(sheetName);

     structuredSheet.activate();
     structuredSheet.getRange('A1').activate();// may want to do at starting cell
     unstructuredSheet.usedRange.copyTo(structuredSheets.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NO_BORDERS, false);
   }//each sheet

Upvotes: 0

Views: 46

Answers (1)

Wicket
Wicket

Reputation: 38296

activate only works on scripts that ran over spreadsheets that are opened by a user by using the Google Sheets UI not by spreadsheets opened by code.

Upvotes: 1

Related Questions