应用脚本错误:无法找到方法getRange(数字,数字,数字,数字)

时间:2015-02-22 14:19:29

标签: google-apps-script google-sheets

我看到有些人过去曾遇到过类似的问题,但他们似乎只是差异不足以使解决方案有所不同。所以这里:

我试图在Google Apps脚本中返回一系列已知尺寸的照片,如下所示:

var myRange = ss.getRange(2,1,14,4);

但是,我收到的错误是这样的:

  

找不到方法getRange(数字,数字,数字,数字)。

请注意,使用 a1notation ,如下所示,效果很好:

var myRange = ss.getRange("A2:D15");

getRange function有多种排列

  • getRange(int,int)
    • 从ints
    • 的坐标返回一个范围
  • getRange(int,int,int)
    • 返回与最后一个参数
    • 一样多的行的前2个参数坐标的范围
  • getRange(int,int,int,int)
    • 返回与第3个参数一样多的行的前2个参数的坐标的范围,以及与最后一个参数一样多的列
  • getRange(字符串)
    • 返回a1notation中字符串指定的范围(即" A2:D15",这与从第2行第1列到第15行第4列的所有内容相同)

我尝试过使用所有不同的排列(使用硬编码的数字),只有 a1notation 可以使用。有什么想法吗?

1 个答案:

答案 0 :(得分:16)

正如我的评论中所述,我有兴趣了解您是如何在代码中构建ss var的。

可能是您指向电子表格,而不是该电子表格中的表格。

我已经整理了一个简单的getRange示例。这样可以记录范围内有多少列和行到Logger。

如您所见,ss var用于电子表格,sheet var用于电子表格中的工作表。

function getSomeRange(){

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();

  var myRange = sheet.getRange(2,1,14,4);

  Logger.log("Number of rows in range is "+myRange.getNumRows()+ " Number of columns in range is "+ myRange.getNumColumns());

}