所需工作表未激活

时间:2019-07-08 12:13:21

标签: google-apps-script google-sheets

此代码涉及三个电子表格

  1. 代码所在的电子表格
  2. 称为unstructuredSheets的源电子表格
  3. 目标电子表格,称为structuredSpreadsheet

指令structuredSheet.activate似乎没有任何作用。 structuredSpreadsheet中的第一张纸仍处于活动状态。 任何想法为什么会这样?

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

1 个答案:

答案 0 :(得分:1)

activate仅适用于运行在用户通过Google表格用户界面打开的电子表格上的脚本,而不适用于通过代码打开的电子表格。