2017-08-25 10 views
0

私は、この機能を時間駆動のトリガから実行しているGoogleシート上のこのGoogle Appスクリプトで作業しています。セルの背景色を変更できるように、シート上の特定のセルをターゲットにすることができます(セルの値が "Open"の場合)。私はこの仕事をするためにどうすればいいのでしょうか?セルをターゲットすることができますが、.setBackground()を呼び出すことができないため、セルの背景のプロパティを変更する方法がわかりません。Google AppsスクリプトGoogleシート上の特定のセルの背景色を変更する

function myColorFunction() { 
    var s = SpreadsheetApp.getActiveSheet(); 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var range = ss.getSheetByName("Form Responses 1").getRange(2,6,ss.getLastRow()); 
    var cellRange = range.getValues(); 
    Logger.log(cellRange); 
    Logger.log(cellRange.length); 
    Logger.log(cellRange.valueOf()); 

    for(i = 1; i<cellRange.length; i++){ 
    if(cellRange[i] == "Open") 
    { 
     Logger.log("change color here"); 
    } else { 
     Logger.log("don't change color"); 
    } 
    } 
} 

答えて

0

setBackgroundプロパティはgetRangeで使用できます。下のスニペットを試してみてください。

function myColorFunction() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var range = ss.getSheetByName("Form Responses 1").getRange(2,6,ss.getLastRow()); 
    var cellRange = range.getValues(); 

    for(i = 0; i<cellRange.length-1; i++){ 
    if(cellRange[i][0] == "Open") 
    { 
     ss.getSheetByName("Form Responses 1").getRange(i+2,6).setBackground("red"); 
     ss.getSheetByName("Form Responses 1").getRange(i+2,6).setFontColor('white'); 
    } 
    } 
} 
関連する問題