Javascript setBackgroundColor已贬值

Javascript setBackgroundColor已贬值,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,对于一个项目,我使用一个函数来设置图纸背景的颜色。 此功能可以正常工作,但Google的BackgroundColor已贬值 function bg() { var ss = SpreadsheetApp.getActive(); var range = SpreadsheetApp.getActiveSheet().getDataRange(); for (var i = range.getRow(); i < range.getLastRow(); i++) { r

对于一个项目,我使用一个函数来设置图纸背景的颜色。 此功能可以正常工作,但Google的BackgroundColor已贬值

function bg() {
  var ss = SpreadsheetApp.getActive();
  var range = SpreadsheetApp.getActiveSheet().getDataRange();
  for (var i = range.getRow(); i < range.getLastRow(); i++) {
    rowRange = range.offset(i, 0, 1);
    status = rowRange.offset(0, 0).getValue();
    if (status !=0) {
      rowRange.setBackgroundColor("#000000");
    }
  }
我试着用挫折背景色,但没用

function new_bg() {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getSheets()[0];
  var range = sheet.getDataRange();
  var value = range.getValues();
  for(var i = 2; i <= value; i++){
    var colors = ["#000000"];
    range.setBackgrounds(colors);
  }
}
值是二维数组,为什么要在其上运行循环? 颜色应该是二维数组。因为它将在二维范围内设置颜色。 您应该尝试以下方法:

function new_bg() {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getSheets()[0];
  var range = sheet.getDataRange();
  var value = range.getValues();
  var colors = [], temp = [];
  for (var i = 2; i <= value.length; i++) {
    temp = [];
    for (var j = 0; j < value[i-1].length; j++) {
      temp.push("#000000");
    }
    colors.push(temp);
  }
  range.setBackgrounds(colors);
}

它怎么会不起作用呢?你有没有发现一个错误,或者它不是你期望的颜色?另外,您可能想阅读,这是相关的;我@tanaike,我明白什么时候有一个像这个例子一样的范围,但不是一个未定义的范围。谢谢你,这就是我想要做的。我想我开始明白了: