Снимите флажок в листах Google в цикле

Я пытаюсь снять соответствующий флажок после запуска функции.

Первоначально он регистрируется как True (потому что он проверен), затем присваивается ему значение false, после чего он регистрируется как false. Однако в электронных таблицах по-прежнему отображается True, а флажок по-прежнему установлен.

Спасибо

function getData() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();

  // Get data range and values
  var rows = ss.getDataRange().getValues();
  var teeTimes = [];

  // Loop through each row of range
  rows.forEach(function (row) {
    // If checkbox is true
    if (row[7] === true && row[8] === false) {
      Logger.log(row[7]); // Prints True

      row[7] = false;
      var singleTime = {};
      singleTime.day = Utilities.formatDate(row[1], "GMT", 'MMM d');
      singleTime.time = Utilities.formatDate(row[2], "EST", 'h:mm');
      singleTime.player1 = row[3];
      singleTime.player2 = row[4];
      singleTime.player3 = row[5];
      singleTime.player4 = row[6];
      teeTimes.push(singleTime);

      Logger.log(row[7]); // Prints False
    }
  });
}

Изображение электронной таблицы

3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
0
0
28
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте так

function getData() {
  var ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName('Sheet0')
  var vs = sh.getRange(2,1,sh.getLastRow() -1, sh.getLastColumn()).getValues();
  vs.forEach((r,i) => {
    if (r[7] == true && r[8] == false) {
      vs[i][7] = "FALSE";
      Logger.log(r[7]); // Prints False
    }
  });
  sh.getRange(2,1,vs.length,vs[0].length).setValues(vs);
}

Я убрал то, что не имело никакого отношения к вопросу. Я также добавил переменную sh, чтобы иметь возможность setValues();

Вы также можете сделать это следующим образом:

function getData() {
  var ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName('Sheet0')
  var vs = sh.getRange(2,1,sh.getLastRow() -1, sh.getLastColumn()).getValues();
  vs.forEach((r,i) => {
    if (r[7] == true && r[8] == false) {
      sh.getRange(i+2,8).setValue("FALSE");
      //Logger.log(r[7]); // Prints False
    }
  });
}

Круто, что сработало. Благодарю вас!

Zack Stevenson 22.04.2022 21:26

Другие вопросы по теме