如果从单元格调用,则google-spreadsheet中的单元格着色会失败,但从脚本调用时可以正常工作.

use*_*067 4 google-sheets google-apps-script

我创建了以下简单的函数:

function test(r,c) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  sheet.getRange(r,c).setBackground("red");
  return 1;
}
Run Code Online (Sandbox Code Playgroud)

在电子表格中,我写"= test(row(),column())

这会导致ERROR,并显示以下消息:错误:您无权调用setBackground(第3行).

如果我在脚本中创建另一个函数调用,则没有问题,如下所示:

function test_the_test(){
  test(5,4); 
}
Run Code Online (Sandbox Code Playgroud)

为什么我不能从电子表格单元调用测试函数?

先感谢您

Ser*_*sas 6

正如文档中清楚解释的那样,自定义函数返回值,但它们不能在它们所在的单元格之外设置值.在大多数情况下,单元格A1中的自定义函数不能修改单元格A5. 对于其他方法,例如setBackground等,当然也是如此.