OnOpen()更改列的边框颜色

时间:2017-04-28 07:32:57

标签: google-apps-script google-sheets

我有一个水平日期的日历。我想检查具有今天日期的单元格,然后将该列中所有单元格的边框格式设置为红色。

我真的不懂脚本,所以非常感谢任何和所有的帮助。脚本不完整是我要从中工作的那个,但我没有得到任何地方..

function checkRange(ss) {
    var ss = ss || SpreadsheetApp.getActiveSheet();
    var range = ss.getRange('A6:NA6');
    range.setBorder(false, false, false, false, false, false);
    var values = range.getValues();
    for (var i = 0; i < values.length; i++) {
        for (var j = 0; j < values[i].length; j++) {
            if (values[i][j] !== "") {
                range.getCell(i + 1, j + 1).setBorder(true, true, true, true, true, true)
                    .setBackground('white');
            }
        }
    }
}

这个脚本有点误导。它不起作用,但我尝试编辑使其工作。它具有我需要的一些功能,但我不知道任何编码我害怕..当涉及到搜索日期并选择包含该单元格的列时,我需要向正确的方向推进。

for(var i = 0; i&lt; values.length; i ++) 这恐怕是我的希望。

1 个答案:

答案 0 :(得分:0)

function checkRange(ss) {
  var ss = ss || SpreadsheetApp.getActiveSpreadsheet();
  var as=ss.getActiveSheet();
  var timeZone=ss.getSpreadsheetTimeZone();
  var range = as.getRange('A1:I10');
  var now=new Date();
  var nowOnlyDay=Utilities.formatDate(now,timeZone,"dd/MM/YYYY");
  Logger.log(nowOnlyDay);
  range.setBorder(false, false, false, false, false, false);
  var values = range.getValues();
  for (var i = 0; i < values.length; i++) {
    for (var j = 0; j < values[i].length; j++) {
      if (values[i][j]!="") {
        var dateCell=Utilities.formatDate(values[i][j],timeZone,"dd/MM/YYYY");
        Logger.log(dateCell);
        if(dateCell===nowOnlyDay) {
          Logger.log(values[i][j]);
          range.getCell(i + 1, j + 1).setBorder(true, true, true, true, true, true)
          .setBackground('white');
        }
      }
    }
  }
}