我正在尝试创建一个脚本,该脚本根据用户进行编辑来自动更改单元格的背景颜色。我目前有这段代码,但是它什么也没做。我们需要知道哪些用户正在编辑或创建新条目。
我只需要第一列中的单元格即可更改背景颜色。这是我正在与另外4个人一起工作的数据库
function checkEdits() {
var s = SpreadsheetApp.getActiveSheet();
//checks that we're on the correct sheet
if (s.getName() == "Sheet1") {
var r = s.getActiveCell();
//checks the column
if (r.getColumn() == 1) {
var email = r.Session.getActiveUser().getEmail();
if (email == "XXXXX@gmail.com") {
r.setBackground('#dbbf94');
}
if (mail == "YYYYYY@gmail.com") {
r.setBackground('#94dbab');
}
if (mail == "ZZZZZZ@gmail.com") {
r.setBackground('#a2bfdf');
}
if (mail == "MMMMMMMM@gmail.com") {
r.setBackground('#cf9ce5');
}
if (mail == "NNNNNNN@gmail.com") {
r.setBackground('#dfa2b1');
}
}
}
}
我希望当用户在A列中编辑单元格时,同一单元格将其背景更改为特定的用户颜色
答案 0 :(得分:0)
您可能想尝试一下。如果部分内容不清楚,请告诉我,我会为您提供更多详细信息。
function onEdit(e){
if (e.range.getSheet().getSheetId() == e.source.getSheetByName("Sheet1").getSheetId() && e.range.getColumn() == 1.0){
switch (e.user){
case "XXXXX@gmail.com":
e.range.setBackground('#dbbf94');
break;
case "YYYYYY@gmail.com":
e.range.setBackground('#94dbab');
break;
case "ZZZZZZ@gmail.com":
e.range.setBackground('#a2bfdf');
break;
case "MMMMMMMM@gmail.com":
e.range.setBackground('#cf9ce5');
break;
case "NNNNNNN@gmail.com":
e.range.setBackground('#dfa2b1');
break;
default:
e.range.setBackground('white');
}
}
}