小编Ben*_*dur的帖子

不使用 A1 表示法时 Sheet.getRange 抛出签名不匹配异常

我正在 Google Sheet 上编写一个脚本,该脚本将与 Google Map 的地理编码服务进行交互。

以下代码工作正常。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var header_v = ss.getRange("1:1").getValues();
Run Code Online (Sandbox Code Playgroud)

但是,稍后在我的函数中,我Sheet.getRange()再次使用该Sheet.getRange(number, number, number, number)方法调用:

var target_range = ss.getRange(1, ss.getLastColumn()+1, ss.getLastRow(), 10);
Run Code Online (Sandbox Code Playgroud)

抛出以下异常:

Exception: The parameters (String,number,number,number) don't match the method signature for Spreadsheet.getRange.
Run Code Online (Sandbox Code Playgroud)

我尝试用我知道是数字的变量替换第一个参数,以达到相同的效果。

这是当前状态下的函数。

function geocode() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var header_v = ss.getRange("1:1").getValues();

  var col_indxs = {
    name : header_v[0].indexOf("restaurant_name"),
    address : header_v[0].indexOf("address")
  }

  var target_range = ss.getRange(1, ss.getLastColumn()+1, ss.getLastRow(), 10);
  Logger.log(target_range.getA1Notation());
}
Run Code Online (Sandbox Code Playgroud)

google-sheets google-apps-script

12
推荐指数
1
解决办法
2万
查看次数

标签 统计

google-apps-script ×1

google-sheets ×1