1

我在谷歌表格上创建了​​一个请求外部链接的函数。我这样称呼这个函数:

=functionimade(params)

但是,我总是打开工作表,调用函数并提出请求。我该如何解决?我想提出一次请求

4

1 回答 1

2

回答:

不幸的是,这是不可能的。

更多信息:

当在工作表中调用自定义函数时,单元格的值是函数的返回值 - 这是调用它的公式。每次打开工作表时都会计算函数的返回值,因为唯一保存的是公式;不是数据。

此外,根据文档,自定义函数不支持以下.set*()方法SpreadsheetApp

电子表格服务:只读(可以使用大多数 get*() 方法,但不能使用 set*())。

这意味着无法直接设置单元格的值,.getRange(cell).setValue(functionimade(params))因为自定义函数的范围不允许您直接设置它。

解决方法:

在函数结束时,您可以使用上述.setValue()方法设置内容,而不是返回值,只需在函数本身中指定单元格:

function functionimade(params) {
  var myReturnValue = // some cool code here

  var cell = 'A1'; // << change this
  SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(cell)
                                                        .setValue(myReturnValue);
}

参考:


相关问题:

于 2020-04-30T15:57:43.420 回答