从电子表格B访问电子表格A

时间:2018-12-05 14:45:36

标签: google-apps-script google-sheets

假设我们有电子表格B的所有者,该所有者想要通过Apps脚本从电子表格A中提取数据。

如果B所有者没有对电子表格A的VIEW / EDIT访问权限,是否可以将数据从电子表格A提取到B中。 因此,目标是B可以通过Apps脚本从A提取数据,但不能直接通过链接访问A。

    function syncDown1(){
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheetActive=ss.getActiveSheet();

      var masterSpreadsheet = SpreadsheetApp.openById("ID");
      var masterSheet = masterSpreadsheet.getSheetByName("Referral Clients");

      var lastRowMaster = masterSheet.getLastRow();
      var lastRowPersonal = sheetActive.getLastRow();

      sheetActive.getRange(4,1,lastRowPersonal,14).clear();

      var agentName = sheetActive.getRange(1,2).getValue();

      if (agentName == "") {
          Browser.msgBox("You have to enter agent's name in cell B2");
          return;
      }

      var agentArray = masterSheet.getRange(1,2,lastRowMaster,1).getValues();

      Logger.log(agentArray);

      //personal sheet iterator
      var j = 4;

      for (var i=1; i<=agentArray.length; i++) {


          if (agentArray[i] == agentName) {

             //column A master
             sheetActive.getRange(j,1,1,1).setValues(masterSheet.getRange(i+1,1,1,1).getValues());

             //column G master
             sheetActive.getRange(j,2,1,1).setValues(masterSheet.getRange(i+1,7,1,1).getValues());

             //column C, D, E, F master
             sheetActive.getRange(j,3,1,4).setValues(masterSheet.getRange(i+1,3,1,4).getValues());

             //column I master
             sheetActive.getRange(j,7,1,1).setValues(masterSheet.getRange(i+1,9,1,1).getValues());

             //column K, L, M, N, O master
             sheetActive.getRange(j,8,1,5).setValues(masterSheet.getRange(i+1,11,1,5).getValues());

             j = j + 1;

          }

      }
}

0 个答案:

没有答案