Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于日期加号设置背景色_Javascript_Google Apps Script - Fatal编程技术网

Javascript 基于日期加号设置背景色

Javascript 基于日期加号设置背景色,javascript,google-apps-script,Javascript,Google Apps Script,我需要根据B列中的日期创建一个脚本,以根据B列中的日期是否比今天提前一天、两天、三天等将行的背景颜色从B列更改为d列 我从另一篇文章中找到了一些代码,但是它正在计算多行的日期 函数格式化(){ var sheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Schedule Fields'); var rg=sheet.getDataRange();//此范围从第1列开始 var vA=rg.getValues(); var to

我需要根据B列中的日期创建一个脚本,以根据B列中的日期是否比今天提前一天、两天、三天等将行的背景颜色从B列更改为d列

我从另一篇文章中找到了一些代码,但是它正在计算多行的日期

函数格式化(){
var sheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Schedule Fields');
var rg=sheet.getDataRange();//此范围从第1列开始
var vA=rg.getValues();
var today=新日期();
对于(var i=0;i尝试以下方法:

function colors(){
  var ss = SpreadsheetApp.getActive().getSheetByName("allGroups");
  var data = ss.getDataRange().getValues();
  var colors = ss.getDataRange().getBackgrounds();
  var today = new Date();
  var date = new Date(data[2][1])
  var diffTime, diffDays

  for (var i = 0; i < data.length; i++){
    date = new Date(data[i][1]); // Current date to evaluate in the sheet.
 // diffTime = today - date;
    diffTime = date - today;  
    diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
    if (diffDays == 1){
      colors[i][1] = "red";
      colors[i][2] = "red";
      colors[i][3] = "red";
    }
    else if (diffDays == 2){
      colors[i][1] = "yellow";
      colors[i][2] = "yellow";
      colors[i][3] = "yellow";
    }
  }
  ss.getDataRange().setBackgrounds(colors);
}
函数颜色(){
var ss=SpreadsheetApp.getActive().getSheetByName(“所有组”);
var data=ss.getDataRange().getValues();
var colors=ss.getDataRange().getBackgrounds();
var today=新日期();
var日期=新日期(数据[2][1])
var diffTime,diffDays
对于(变量i=0;i

此代码将比较列
B
中的日期与今天的日期,如果相隔2天,则将日期单元格设置为黄色,如果相隔一天,则将日期单元格设置为红色。

请共享完整的代码片段(HTML/JS)您已使用DI将完整的代码片段添加到帖子中。您能否共享经过消毒的工作表版本,以便更好地查看数据的排序方式?至于更改颜色,最好使用
setBackgroundColors()立即进行批更改
取而代之,但一旦我看到这张表,就会更容易向您演示如何操作。我希望C列和D列中的单元格也能改变背景。