我正在尝试根据时间和占用率来建立动态的座位表,以将时间戳和颜色协调相关联:想想女主人在餐厅为客人提供座位,我希望任何人都可以很容易地从视觉上看到这张桌子是否被占用如果是这样,那么多长时间,然后将颜色更改为红色,如果红色已超过30分钟,则打开黄色,如果打开了更多则是黄色,然后打开5分钟则打开绿色。随附的是我希望如何组织的基本模板-https://docs.google.com/spreadsheets/d/1JdfJNL6Q-yYoF-0w9MPE6RebjmtLjyvTc76K0YpMrH8/edit#gid=21951357
我尝试了一些只能在红色或绿色的二进制意义上工作的代码,而无法捕获变黄的陈旧开放表。在该状态下,打开或占用状态的颜色渐变会根据时间变暗,并且只能上下移动无法精确影响每个单元格的列
function onEdit(e) {
var s = SpreadsheetApp.getActiveSheet(); // the active sheet (no need to
check if the sheet == sheet1 as the active sheet will always be the one
that's being edited)
var r = e.range; // the range of the edited cell
var c = r.getColumn(); // the column of the range
var timeDelay = 5; // number in seconds
var checkbox = r.getValue(); // the value of the checkbox after being
edited
var date = new Date(); // the date for the timestamp
if (c == 3 && checkbox === true) { // if the checkbox has been checked,
change the color to red
var nextCell = r.offset(0,1);
Utilities.sleep(timeDelay * 100); // Utilities.sleep takes a number in
milliseconds
nextCell.setValue(date).setBackground("red");
} else if (c == 3 && checkbox === false){ // unchecked switch to green
var nextCell = r.offset(0,1);
nextCell.setValue(date).setBackground("green");
}
}
这是该项目的上一个迭代,只是在列的上下移动,以便现在有了一个更高级的界面的感觉,不确定如何编写我想看到的结果的脚本