我有一个基本功能(我只保留相关代码):
function list() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.getRange("Analyse!B1").setBackground("red");
}
我在这样的单元格中调用该函数:=list()
错误:您无权调用函数列表
我得到了上面的弹出窗口,要求我授权,我接受了,没有什么改变总是一个错误:
我有一个基本功能(我只保留相关代码):
function list() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.getRange("Analyse!B1").setBackground("red");
}
我在这样的单元格中调用该函数:=list()
错误:您无权调用函数列表
我得到了上面的弹出窗口,要求我授权,我接受了,没有什么改变总是一个错误:
您不能从自定义函数中调用诸如 setBackground() 之类的函数。
当您将 Apps 脚本代码作为自定义函数运行时,它会以一组有限的“安全”权限运行,这就是为什么不会提示您授权脚本的原因。
自定义函数与调用表交互的唯一方法是返回单个值或二维数据数组,这些数据将从调用单元格的位置写入。
请参阅我对这个类似问题的回复:如何更改运行函数的单元格格式 - Google Sheets Script Editor
如果您必须更改背景颜色或执行其他类型的操作,则需要以其他方式触发该功能,例如从菜单选项或侧边栏,这将触发授权流程并以完全权限运行。
这是一个已知错误,可能会影响用户在同一浏览器中登录多个 Google 帐户的脚本?
打开谷歌浏览器,进入菜单并选择新建隐身窗口。在这里打开同一个 Google 工作表并再次运行脚本。