我使用工具/脚本编辑器添加脚本。我添加了我的简单弹出功能:
function test(){
Browser.msgBox('This is test')
}
然后在谷歌表中,我添加一个图像作为按钮并附加脚本“测试”。
它工作正常,但我想从单元格传递值。我该怎么做?
例如,我修改函数如下:
function test(val){
Browser.msgBox('This is test. Value is '+val)
}
如果我想从单元格 B4 传递值 --> test(B4)
。如何正确地做到这一点?将脚本分配给图像/按钮时,不允许包含参数 B4。它会说“找不到脚本”。
谢谢
答案 0 :(得分:1)
正确,如果调用自定义函数作为工作表中的公式,则可以指定参数,但不能在按下按钮时作为附加到脚本的方式指定参数。我们在分配脚本时甚至不包括括号。
如果客户函数总是想使用 B4 的值,您可以修改脚本以从该单元格中获取值。
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var val = sheet.getRange("B4");
答案 1 :(得分:1)
JohnA 的解决方案是正确的,但我想添加一些内容。我建议使用此增强功能,以避免在您希望将另一个单元格作为参数传递时不时修改您的脚本。
function test() {
sheet = SpreadsheetApp.getActiveSheet();
// cell holds the range you want printed
cell = sheet.getRange("A1").getValue();
// value now holds the value of the range we got from the cell
value = sheet.getRange(cell).getValue();
Browser.msgBox(value);
}
Exception: Range not found
)