コンピュータや音楽の事書いてます

Google Spreadsheetで曜日によるセルの色替え

条件付き書式だと該当セルしか変えられないので。
2,1 に月の最初の日付を入れると起動。

var sheet;

function onEdit(e){
  var r = e.range;
  sheet = SpreadsheetApp.getActiveSheet();
  if(sameAddress(sheet.getRange(2, 1), r)) 
    if(changeBackGroundColor())
      Browser.msgBox("曜日のBackGroundColor変更完了");
}

function changeBackGroundColor(){
  var all = sheet.getDataRange();
  for(i = 1; i < all.getNumRows(); i++){
    r = sheet.getRange(i, 1, 1, 7); //表の右はじが7つ目
    var v = sheet.getRange(r.getRow(), 2).getValue();
    if(v == "日" || v =="土"){
      r.setBackgroundColor("pink");
    }else{
      r.setBackgroundColor("none");
    }
  }
  return true;
  
}

function sameAddress(r1, r2){
  if(r1.getA1Notation() == r2.getA1Notation()) //A1形式のアドレス比較
    return true;
  else   
    return false;
}