对于项目,我使用一个函数来设置工作表背景的颜色。
此功能有效,但Google通知“ setBackgroundColor”已弃用。

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


我正在尝试使用“ setBackgrounds(colors)”,但是它不起作用。

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

关于javascript - setBackgroundColor已弃用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50196619/

10-11 12:48