例如按钮的 Google Sheets 脚本参数

Dwz*_*wza 8 excel spreadsheet google-sheets google-sheets-api

是否可以在签名脚本上传递参数?

我有一个电子表格,并为每个电子表格制作了几个签名功能的按钮。

示例函数:

function foo(){
    return "bar";
}
Run Code Online (Sandbox Code Playgroud)

在单元格上调用此函数

=foo()
Run Code Online (Sandbox Code Playgroud)

返回我bar,将此函数签名到按钮

foo
Run Code Online (Sandbox Code Playgroud)

什么也没返回给我,但它当然有效。我的意思是脚本无法将字符串返回到图像(实际上是我的按钮)。无论如何...

带参数的示例函数:

=foo()
Run Code Online (Sandbox Code Playgroud)

在单元格中调用脚本

foo
Run Code Online (Sandbox Code Playgroud)

hello world按预期返回我

将此签名到我的按钮

function foo(bar){
    return bar;
}
Run Code Online (Sandbox Code Playgroud)

导致错误,因为按钮找不到脚本。他正在搜索一个函数名称foo('hello world'),但(...)与该函数无关。

那么签名脚本时如何传递参数呢?

目前我有 26 个函数(全部相同,只有 1 个参数变化)来解决这个问题。但是通过传递参数,我可以使用 2 个函数而不是 26 个函数来完成所有这些操作。

小智 5

使用自定义函数时,无法通过将其分配给可绘制图像来传递参数。它仅在从单元格调用自定义函数时才有效。可能的解决方法是将参数存储在某些工作表和单元格中,然后通过 getRange()和检索它们getDisplayedValue()

其他可能的解决方法已发布在 Google 产品帮助论坛中,可以在此处找到