0

このスクリプトを変更して、日付 ​​(現在) を検索し、シートで見つかった日付に色を付けようとしています。

元のスクリプト;

function findThis(val) {
var data = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
var searchStr = "Foo";
Logger.log(res);
var res = findValue(data, searchStr);
if (res != null) {
Browser.msgBox("Found in row " + res[0] + ", column " + res[1]);
}
}

function findValue(data, obj) {
for (var i = 0; i < data.length; i++) {
for (var j = 0; j < data[i].length; j++) {
  if (data[i][j] == obj) {
    return [i, j];
  }
}
}
return null;

}

私の試行錯誤のスクリプト。

範囲は res にあると思いますが、getRange を使用したいときに res 座標を受け入れません。getA1Notation() を試してみました。

    function findThis(val) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // toevoeging
  var data = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
  var Today = new Date();
  var date = Utilities.formatDate(Today,"GMT+100","dd-M-yyyy");
  Logger.log(date)
  var searchStr = date;

  var res = findValue (data, searchStr);
  if (res != null) {
  Logger.log(res);
    Logger.log(res[0]+", "+res[1]);
    var Range = (res[0]+", "+res[1]);
    var x = (res[0]+", "+res[1]);
    //var C = range.getColumnIndex(res);
    var range = Range.getA1Notation()
    Logger.log(range); 
    var value = sheet.getRange([x]).getValue(); //toegevoegd
    Logger.log(value);
    Logger.log(x);    
    sheet.getRange(x).setBackgroundColor('Yellow'); 
    Browser.msgBox("Found in row " + res[0] + ", column " + res[1]);
  }
}

function findValue(data, obj) {
  for (var i = 0; i < data.length; i++) {
    for (var j = 0; j < data[i].length; j++) {
      if (data[i][j] == obj) {
        return [(i+1), (j+1)];
      }
    }
  }
4

1 に答える 1