function test(r,c) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange(r,c).setBackground("red");
return 1;
}
在电子表格中,我写了" = test(row(),column())
这导致ERROR,并显示以下消息: 错误:您无权调用setBackground(第3行)。
如果我在脚本中创建另一个函数调用,则没有问题,如下所示:
function test_the_test(){
test(5,4);
}
为什么我不能从电子表格单元调用测试函数?
提前谢谢
答案 0 :(得分:5)
正如documentation中明确解释的那样,自定义函数返回值,但它们无法在它们所在的单元格之外设置值。在大多数情况下,单元格A1中的自定义函数无法修改单元格A5 。对于其他方法,例如setBackground等,当然也是如此。
答案 1 :(得分:1)
无法调用任何设置内容来自单元格的内容,但可以通过按钮调用内容。
其实很容易。肯定的是,你无法改变其他细胞内容。
诀窍是不要从单元格调用函数,而是将其挂载到绘图/图像中。
此代码在安装到按钮时工作正常。
function test() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange(3,5).setBackground("red");
}