我看到有些人过去也遇到过类似的问题,但他们似乎只是不同,所以解决方案也有所不同。所以这里是:
我正在尝试在 Google Apps 脚本中返回工作表的已知尺寸范围,如下所示:
var myRange = ss.getRange(2,1,14,4);
但是,我收到这样的错误:
Cannot find method 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 个参数的坐标范围,行数与第三个参数相同,列数与最后一个参数相同
- 获取范围(字符串)
- 返回由 a1notation 中的字符串指定的范围(即“A2:D15”,这与表示从第 2 行第 1 列到第 15 行第 4 列的所有内容相同)
我尝试过使用所有不同的排列(使用硬编码数字),但只有 a1notation 一种有效。有什么想法吗?
最佳答案
正如我的评论中提到的,我很想知道您如何在代码中构建 ss
var。
您可能指向的是电子表格,而不是该电子表格中的工作表。
我整理了一个 getRange 的简单示例。这是有效的,它会将范围内的列数和行数记录到记录器中。
如您所见,ss
变量用于电子表格,sheet
变量用于电子表格本身内的工作表。
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());
}
关于google-apps-script - Apps 脚本错误 : Cannot find method getRange(number, 数字、数字、数字),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28658852/