我在列" 0 "上有两个值(是,否)的下拉列表。我有一个运行的脚本,每次我把它勾选为&;yes &;,在列&;&;我得到了今天日期的时间戳。现在,我要找的是,这个时间戳的7天后,下拉列表中的值在0列中;返回到"no",并且在执行此操作时,它将清除"& & &"列中的时间戳。这样我就可以重新启动这个过程,点击"是",得到一个新的时间戳,7天后,它会自动重置。
我一直在深入调查,但没有找到任何有用的。
问候!
试试这个:
function onEdit(e) {
e.source.toast('Entry');
Logger.log(JSON.stringify(e));
var s = e.range.getSheet();
if (s.getName() == "Sheet0" && e.range.columnStart == 14) {
e.source.toast('Flag1');
let dt = new Date();
if (e.range.offset(0, 1).getValue() === '') {
e.range.offset(0, 1).setValue(dt);
}
let thv = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate() - 7).valueOf();
s.getRange(1, 15, s.getLastRow()).getValues().flat().forEach((el, i) => {
if (new Date(el).valueOf() <= thv) {
s.getRange(i + 1,14,1,2).setValues([["No",""]]);
}
})
}
}