google script note row colorGoogle Script行颜色检测器

时间:2017-01-06 16:16:30

标签: google-apps-script colors detect

我需要一些帮助来编写谷歌脚本功能。 我有一个Google表格,其中每个单独的行可能分配了不同的颜色。 我需要一个脚本,可以记下在该单元格中每行的第一个单元格中找到的html颜色代码。

例如,假设第1行是绿色行,第2行是蓝色行,单元格A1应该说#00ff00,A2应该在运行脚本后说#0000ff。以下是我到目前为止的情况。

function colorDetector() {
  var startRow = 1;  // First row of data to process
  var numRows = 3;   // Number of rows to process
  var currentsheet = 'Production' // What sheet you would like to process (must be within ' ')
  //This section prepares the document to be read
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getSheetByName(currentsheet);
  var dataRange = sheet.getRange(startRow, 1, numRows, 15)  // Fetch values for each row in the Range (row, column, numRows, numColumns)
  var data = dataRange.getValues();
  for (var i = 0; i < data.length; ++i) {
    var row = data[i];

    //this is the section i cant seem to get working correctly
    var color = row[0].getbackground(); //should set the variable "color" to the html color found in the first cell of the current row.

    sheet.getRange(startRow + i, 1).setValue(color);      // notes the variable found
    SpreadsheetApp.flush();

  }
}

1 个答案:

答案 0 :(得分:0)

这是我最终自己搞清楚的事情。它运作得很好。

function colorDetector2() {
  var startRow = 1;  // First row of data to process
  var currentsheet = 'sheet 4' // What sheet you would like to process (must be within ' ')
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getSheetByName(currentsheet);
  var numRows = 10;   // Number of rows to process
  var dataRange = sheet.getRange(startRow, 1, numRows, 20)  // Fetch values for each row in the Range (row, column, numRows, numColumns)
  var colordata = dataRange.getBackgrounds();
  var data = dataRange.getValues();
  for (var i = 0; i < data.length; ++i) {
    var color = colordata[i]
    var colorconv = String(color[1]);
    if (colorconv == "#00ff00") {
      //do something here;
    } else {
      //do something else here;
    }
  }
}