Google apps script 如何在打开工作表时不执行功能?
我在谷歌表单上做了一个函数,请求一个外部链接。我将该函数称为:Google apps script 如何在打开工作表时不执行功能?,google-apps-script,google-sheets,triggers,google-sheets-custom-function,Google Apps Script,Google Sheets,Triggers,Google Sheets Custom Function,我在谷歌表单上做了一个函数,请求一个外部链接。我将该函数称为: =functionimade(params) 但是,我总是打开工作表,调用函数并提出请求。我怎样才能解决它?我想提出一次请求回答: 不幸的是,这是不可能做到的 更多信息: 当在工作表中调用自定义函数时,单元格的值表示函数的返回-调用它的是公式。每次打开工作表时都会计算函数的返回值,因为唯一保存的是公式;不是数据 此外,根据,自定义函数不支持电子表格应用程序的.set*()方法: 电子表格服务:只读(可以使用大多数get*()方法,
=functionimade(params)
但是,我总是打开工作表,调用函数并提出请求。我怎样才能解决它?我想提出一次请求回答:
不幸的是,这是不可能做到的
更多信息:
当在工作表中调用自定义函数时,单元格的值表示函数的返回-调用它的是公式。每次打开工作表时都会计算函数的返回值,因为唯一保存的是公式;不是数据
此外,根据,自定义函数不支持电子表格应用程序的.set*()
方法:
电子表格服务:只读(可以使用大多数get*()方法,但不能使用set*())
这意味着不可能直接使用.getRange(cell).setValue(functionimade(params))
设置单元格的值,因为自定义函数的作用域不允许直接设置它
解决方法:
在函数结束时,您可以使用前面提到的.setValue()
方法设置内容,而不是返回值,只需在函数本身中指定单元格:
函数functionimade(参数){
var myReturnValue=//这里有一些很酷的代码
var cell='A1';//读取:如果我尝试设置插入公式的单元格的值,它会说我不能,因为“循环依赖”。如果我试图设置其他单元格的值,它会说我没有权限这样做。你根本不能使用公式,工作表不允许这样做。你不需要在解决方法中使用公式,而不管你想设置哪个单元格的值,都可以将它的A1符号作为字符串指定给单元格
。谢谢,它可以工作。有没有办法执行脚本而不转到工具>脚本编辑器?这是一种不想看到代码(如按钮)的用户的方法,请在我的答案末尾查看链接相关问题的答案-它解释了如何将脚本分配给工作表中的按钮。非常感谢