function colorEntireRowGreenWhenDateOfEventMatchesCurrentDate() {
var data = SpreadsheetApp.getActiveSheet();
var dateColumn = data.getRange("C2:C15").getValues();
var todaysDate = new Date();
Logger.log(data)
for (i=0; i=dateColumn.length; i++) {
if (dateColumn[i] = todaysDate) {
data.setTabColor("#3c643c");
}
}
}
简单的请求。当 C 列中的日期条目与今天的日期匹配时,我想将整行涂成绿色。
最佳答案
您的代码存在多个问题。
首先,你的日期比较有误
if (dateColumn[i] = todaysDate) {
代替
if (dateColumn[i] == todaysDate) {
此外,比较日期的最佳方法是使用 getTime() method 来比较时间。 .另请参阅此 SO 问题:Compare two dates with JavaScript
您尝试使用 Sheet.setTabColor(String) method当您尝试获取 Range.setBackground(String) method 时,它会修改工作表的选项卡颜色或 Range.setBackgroundRGB(red, green, blue) method .
解决方法:
function colorEntireRowGreenWhenDateOfEventMatchesCurrentDate() {
var data = SpreadsheetApp.getActiveSheet();
var range = data.getRange("C2:C15");
var values = range.getValues();
var today = new Date();
var todaysDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());
Logger.log(data);
range.setBackground(null);
for (var i in values) {
var d = values[i][0];
if (d.getTime() === todaysDate.getTime()) {
var row = parseInt(i) + 1;
data.getRange(range.getCell(row, 1).getRow(),1,1,data.getMaxColumns()).setBackground('#3c643c');
}
}
}
关于javascript - 当 shell 中的日期与今天的日期匹配时为整行着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46220238/