答案 0 :(得分:0)
据我所知,最明显的解决方案是创建一个 edit trigger,以便您可以识别编辑工作表和颜色的人。
function colorByUser(e){
let user = e.user;
let range = e.range;
if(user){
Logger.log(user);
Logger.log(user.getEmail());
}else{
Logger.log("User not defined");
}
if(user.getEmail() == "<THE EMAIL YOU WANT TO COLOR RED>"){
range.setBackground("red");
}else{
range.setBackground("blue");
}
}
类似这样的事情,但因为有时获取用户可能很棘手,所以不要使用 simple trigger 而直接使用 installable trigger:
function myFunction() {
let ss = SpreadsheetApp.getActiveSpreadsheet();
ScriptApp.newTrigger("colorByUser")
.forSpreadsheet(ss)
.onEdit()
.create();
}
您可能想在 documentation 中查看此内容:
<块引用>电子邮件地址可用的情况各不相同:例如,用户的电子邮件地址在任何允许脚本在未经用户授权的情况下运行的上下文中都不可用,例如简单的 onOpen(e) 或 onEdit(e)触发器,Google 表格中的自定义函数