我正在Google表格上使用此Google App脚本进行操作,该功能是由时间驱动的触发器运行的。我希望能够定位工作表上的特定单元格(如果单元格值=“打开”),以便可以更改单元格的背景色。我想知道如何进行这项工作?我可以定位单元格,但是我不知道如何更改单元格背景的属性,因为无法调用.setBackground()。

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");
     }
  }
}

最佳答案

您可以将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');
     }
  }
}

关于google-apps-script - Google Apps脚本更改Google工作表中特定单元格的背景颜色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45888328/

10-12 00:12
查看更多