Скрыть строку с определенным текстом (Изменить код) - Google Apps Script / Google Sheets - PullRequest
1 голос
/ 14 февраля 2020

У меня есть скрипт ниже, который может удалить строку с определенным текстом, но может ли он скрыть строку с определенным текстом.

function DeleteAnyNO() {
// This Code will delete any "NO" in Column C.
var sheet = SpreadsheetApp.getActive();
sheet.setActiveSheet(sheet.getSheetByName('HOLDING'), true);
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
var values = rows.getValues();
var rowsDeleted = 0;
for (var i = 0; i <= numRows - 1; i++) {
var row = values[i];
if (row[2] == 'NO') {
sheet.deleteRow((parseInt(i)+1) - rowsDeleted);
rowsDeleted++;
}
}
};

Так что в приведенном выше коде вы можете изменить, чтобы скрыть все "НЕТ" "вместо разграничения?

Как всегда - заранее спасибо.

Ответы [ 2 ]

1 голос
/ 14 февраля 2020

Как насчет этой модификации? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.

Модифицированный скрипт:

Когда ваш скрипт модифицирован, как насчет следующей модификации?

От:
sheet.deleteRow((parseInt(i)+1) - rowsDeleted);
rowsDeleted++;
Кому:
sheet.hideRow(sheet.getRange("A" + (i + 1)));
  • В этом случае в вашем скрипте sheet - это объект электронной таблицы. Поэтому я использовал hideRow() в таблице классов.
  • Также в этом случае var rowsDeleted = 0; не используется.

Ссылка:

Если это не то направление, которое вам нужно, я прошу прощения.

1 голос
/ 14 февраля 2020

Поскольку у вас есть rowId, вы можете использовать метод hideRows, чтобы скрыть эту конкретную строку в Google Sheet.

/** @OnlyCurrentDoc */

function hideRow(rowIndex) {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getActiveSheet().hideRows(rowIndex);

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