Очистить заметку из ячеек на основе цвета условного форматирования - PullRequest
0 голосов
/ 11 июля 2019

У меня есть скрипт Google Sheet, который очищает все заметки на листе с триггером для ежедневного запуска.Я действительно хочу, чтобы он просто «очищал заметки» в ячейках, которые условно отформатированы зеленым в тот день.В качестве справочной информации примечания автоматически добавляются в различные ячейки надстройкой, но когда ячейка снова становится зеленой, я хочу, чтобы примечание, прикрепленное к этой ячейке, было очищено.Это возможно?Я предоставил код, который у меня есть, но путаюсь с частью массива getRange.Спасибо!

function cleargreens() {
  var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Overview");

  var data1 = sheet1.getDataRange().getValues();  //2D array of sheet1 cell values
  var bg;

  for(var i=1; i<data1.length; i++)
  {
    bg = sheet1.getRange(i+1, 2).getBackground();
    if(bg == "#b7e1cd") //this is the conditional green color code
    {
      sheet1.getRange(i+1, 3).clearNote();
    } 

Моя таблица, хотя цвета, которые я буду искать, будут только в столбцах от E до H

1 Ответ

0 голосов
/ 11 июля 2019

Если все ваши ячейки потенциально могут иметь заметки, которые необходимо удалить, когда цвет фона зеленый - тогда вам нужно реализовать вложенный цикл, который выполняет итерацию по обеим строкам И столбцам:

function cleargreens() {
  var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Overview");

  var data1 = sheet1.getDataRange().getValues();  //2D array of sheet1 cell values
  var bg;
//iterates through rows
  for(var i=1; i<data1.length; i++)
  {
//iterates through columns    
    for(var j=1; j<data1[0].length; j++)
    {
      var cell=sheet1.getRange(i+1, j);
      bg = cell.getBackground();
      if(bg == "#b7e1cd") //this is the conditional green color code
      {
        cell.clearNote();
      }
    }
  }
}

Что касается вашей путаницы, помните, что диапазон - это двумерный массив с индексом строки и столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...