Google Script ImportRange

时间:2015-10-12 20:02:47

标签: google-apps-script google-sheets

所以我有一个工作表,其中填充了一大堆人,他们的信息就在上面。我需要从这个文件中的一行中取出三个单元格,将它们放在另一个电子表格中的3个连续单元格中。我知道这可以通过单元格中的= ImportRange行完成,但是我有数百张要做的事情,并且正在寻找一种自动执行此过程的方法。

我尝试了以下

    function onOpen() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var menuEntries = [ {name: "Do the thing", functionName:"updateVerified"} ];
      ss.addMenu("Move Values",menuEntries);// custom menu
    }

    function updateVerified() {
       var sheet1 = SpreadsheetApp.openById('MasterSheetID').getSheetByName('Sheet2');            
       var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');            

       var data = sheet1.getRange("B2:J2").getValues();
       sheet2.getRange("b4:d4").setValues(data);
    }

这会返回一个错误:TypeError:无法调用方法" getRange" null。

即使提供的范围内有数据。

1 个答案:

答案 0 :(得分:0)

您是Master Spreadsheet的所有者吗?如果没有,那么请确保您拥有它的访问权限..

而且我注意到,你正在获得范围的价值" B2:J2"然后在范围" B4:D4"上设置它,这也会引发错误,因为两个范围都应该有相同的行数和列数。