setBackgroundColor已折旧

时间:2018-05-06 05:45:19

标签: javascript google-apps-script google-sheets

对于项目,我使用一个函数来设置工作表的背景颜色。 此功能有效,但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");
    }
  }

我试图使用&#34; setBackgrounds(颜色)&#34;但它没有用。

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

1 个答案:

答案 0 :(得分:1)

  1. 值是二维数组,为什么要在它上面运行循环?
  2. 颜色应该是二维数组。因为它将在二维范围内设置颜色。
  3. 你应该尝试这样的事情:

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