如果在日期内,如何突出显示行?
How to highlight row if it is within the dates?
我正在使用 googlescript,想知道有关如何在单元格上的日期在特定持续时间内突出显示所有行的代码。
示例:如果单元格 A2 在 Today()+5 和 Today()-3 之间
如果是,则以灰色突出显示所有行
如果不是,则移至下一行
现有代码:
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('O:O').activate();
var conditionalFormatRules = spreadsheet.getActiveSheet().getConditionalFormatRules();
conditionalFormatRules.push(SpreadsheetApp.newConditionalFormatRule()
.setRanges([spreadsheet.getRange('O:O')])
.whenDateAfter(new Date()).setBackground('#808080'));
.whenDateAfter(new Date(new Date().getTime()-10*(1000*60*60*24)))
.whenDateBefore(new Date(new Date().getTime()-10*(1000*60*60*24)))
.setBackground('#808080')
.build());
高亮线如果在范围内
function lfunko() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName("SheetName");
const dt = new Date()
const hi = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate() + 5).valueOf();
const lo = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate() - 2).valueOf();
const vs = sh.getDataRange().getValues();
let d = 0;
vs.forEach((r,i) => {
let v = new Date(r[14]).valueOf()
if(v < lo && v < hi) {
//sh.getRange(i + 1,1,1,sh.getLastColumn()).setBackground("#ffff00");//highlites line to yellow
sh.deleteRow(i + 1 - d++);
}
})
}
我正在使用 googlescript,想知道有关如何在单元格上的日期在特定持续时间内突出显示所有行的代码。
示例:如果单元格 A2 在 Today()+5 和 Today()-3 之间 如果是,则以灰色突出显示所有行 如果不是,则移至下一行
现有代码:
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('O:O').activate();
var conditionalFormatRules = spreadsheet.getActiveSheet().getConditionalFormatRules();
conditionalFormatRules.push(SpreadsheetApp.newConditionalFormatRule()
.setRanges([spreadsheet.getRange('O:O')])
.whenDateAfter(new Date()).setBackground('#808080'));
.whenDateAfter(new Date(new Date().getTime()-10*(1000*60*60*24)))
.whenDateBefore(new Date(new Date().getTime()-10*(1000*60*60*24)))
.setBackground('#808080')
.build());
高亮线如果在范围内
function lfunko() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName("SheetName");
const dt = new Date()
const hi = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate() + 5).valueOf();
const lo = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate() - 2).valueOf();
const vs = sh.getDataRange().getValues();
let d = 0;
vs.forEach((r,i) => {
let v = new Date(r[14]).valueOf()
if(v < lo && v < hi) {
//sh.getRange(i + 1,1,1,sh.getLastColumn()).setBackground("#ffff00");//highlites line to yellow
sh.deleteRow(i + 1 - d++);
}
})
}