谷歌表:根据用户编辑更改列颜色

时间:2021-03-04 10:36:47

标签: google-sheets

我有一个工作表,其中三个用户将数据输入到列中。我想根据用户为它们(列)着色。哪个用户编辑/将数据添加到列中。根据用户编辑,应显示特定列的颜色。目前,我可以看到哪个用户编辑了该列 enter image description here

1 个答案:

答案 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 表格中的自定义函数

结果

Sample of result

相关问题