是否可以在已签名的脚本上传递参数?
我有一个电子表格,并为每个按钮签署了几个按钮功能。
示例功能:
function foo(){
return "bar";
}
在单元格上调用此函数
=foo()
返回bar
,将此功能签名为按钮
foo
什么也没有给我回报,但当然有效。我的意思是脚本不能将字符串返回到图像(实际上我的按钮是什么)。无论如何......
带参数的示例函数:
function foo(bar){
return bar;
}
在单元格中调用脚本
=foo('hello world')
将hello world
作为已过期的
将此签名设为我的按钮
foo('hello world')
导致错误,因为按钮无法找到脚本。他正在搜索函数名foo('hello world')
,但(...)
与函数无关。
那么在签署脚本时如何传递参数?
目前我有26个功能(全部相同,只有1个参数更改)来解决这个问题。但是通过传递参数,我可以用2个函数而不是26个来完成所有这些。
答案 0 :(得分:0)
使用自定义功能时,通过将参数指定给可绘制图像,您无法传递参数。它仅在从单元格调用自定义函数时有效。
可能的解决方法是将参数存储在某些工作表和单元格上,然后通过它们检索它们
getRange()
和getDisplayedValue()
。
其他可能的解决方法发布在Google产品帮助论坛中,可以找到here
答案 1 :(得分:0)
我找到了为每个按钮创建单独的助手方法的最佳选择,然后将正确的参数传递给泛型方法。
在下面的示例中,您将绑定到特定于城市的方法的按钮,例如“赫尔辛基”按钮“ updateAvailabilityInfoHelsinki”。
function updateAvailabilityInfoHelsinki() {
updateAvailabilityInfo("Helsinki");
}
function updateAvailabilityInfoPorvoo() {
updateAvailabilityInfo("Porvoo");
}
function updateAvailabilityInfo(citySheet) {
// Do something with citySheet parameter
}