我在谷歌表格上创建了一个请求外部链接的函数。我这样称呼这个函数:
=functionimade(params)
但是,我总是打开工作表,调用函数并提出请求。我该如何解决?我想提出一次请求
我在谷歌表格上创建了一个请求外部链接的函数。我这样称呼这个函数:
=functionimade(params)
但是,我总是打开工作表,调用函数并提出请求。我该如何解决?我想提出一次请求
不幸的是,这是不可能的。
当在工作表中调用自定义函数时,单元格的值是函数的返回值 - 这是调用它的公式。每次打开工作表时都会计算函数的返回值,因为唯一保存的是公式;不是数据。
此外,根据文档,自定义函数不支持以下.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);
}