【发布时间】:2015-04-23 21:29:13
【问题描述】:
我看到有些人过去曾遇到过类似的问题,但他们似乎只是不同而已,因此解决方案也会有所不同。所以这里是:
我正在尝试在 Google Apps 脚本中返回一系列已知大小的表格,如下所示:
var myRange = ss.getRange(2,1,14,4);
但是,我收到如下错误:
找不到方法 getRange(number,number,number,number)。
请注意,使用 a1notation,如下所示,效果很好:
var myRange = ss.getRange("A2:D15");
getRange function 有几种排列方式
- getRange(int, int)
- 从整数的坐标返回一个范围
- getRange(int, int, int)
- 从与最后一个参数一样多的行的前 2 个参数的坐标返回一个范围
- getRange(int, int, int, int)
- 从前 2 个参数的坐标返回一个范围,其中行数与第三个参数一样多,列数与最后一个参数一样多
- getRange(字符串)
- 返回由a1notation中的字符串指定的范围(即“A2:D15”,这与从第2行第1列到第15行第4列的所有内容相同)
我尝试过使用所有不同的排列(使用硬编码数字),但只有 a1notation 一种有效。有什么想法吗?
【问题讨论】:
-
哼,我的脚本使用“getRange(int, int, int, int)”,但我没有问题...你确定你拿的是好数字吗?
-
这可能是因为您的位置设置吗?您可以尝试使用分号作为分隔符,而不是仅仅为了微笑而使用逗号。
-
看看 var
ss是如何定义的会很有用。也许它只是查看活动的电子表格,而不是其中的工作表。 -
即使使用 A1 表示法不会导致错误,它仍然不起作用。您的代码没有返回范围。电子表格中可以有多个工作表。文档是错误的。它不应该显示在电子表格类上获取范围的方法。获取范围仅适用于工作表类。
-
@SandyGood 同意桑迪! Apps 脚本文档是完全错误的。我今天遇到了同样的问题。您必须在“工作表”而不是“电子表格”上使用 getRange()。我不知道为什么符号方式有效。
标签: google-apps-script google-sheets