【问题标题】:Custom function parameters too large自定义函数参数太大
【发布时间】:2019-07-03 09:57:52
【问题描述】:

有一个具有 2,000 多行和 500 多列的 Google 表格,还有一个 Google Apps 脚本自定义函数,该函数将单元格范围作为参数并将其数据发布到外部 API。

函数调用形式如下:=someFunctionName(A1:SG1000)

参数处理:

function someFunctionName(arr) {

  ...

  var payload = JSON.stringify({
    'rows': arr
  });

  ...
}

问题在于 Google Apps Script 自定义函数的参数大小有限制。

如果函数调用一百行一切正常,但如果有几百行就会出现限制错误:

“自定义函数参数太大。”

有什么方法可以为大型自定义函数参数找出 Google Apps 脚本自定义函数?

【问题讨论】:

  • 不使用自定义函数?直接从sheet中获取数组并执行?
  • @TheMaster 根据您的想法发布了直接获取数组的答案。只需在函数中使用字符串参数。谢谢!
  • 字符串的好用

标签: google-apps-script google-sheets custom-function


【解决方案1】:

将单元格范围作为字符串:

=someFunctionName("A1:SG1000")

将字符串转换为范围并获取值:[][]

function someFunctionName(arr) {

  ...

  var rVals = SpreadsheetApp.getActiveSpreadsheet().getRange(arr).getValues();
  var payload = JSON.stringify({
    'rows': rVals
  });

  var payload = JSON.stringify({
    'rows': arr
  });

  ...
}

【讨论】:

    猜你喜欢
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 2013-05-18
    • 2018-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-14
    相关资源
    最近更新 更多