Чтобы программно скрыть строки с помощью Google Apps Script, вы можете использовать любую из функций hideRow(row)
, hideRows(rowIndex)
и hideRows(rowIndex, numRows)
(см. здесь ).
InДля того, чтобы удовлетворить ваши собственные потребности, я разработал следующий код:
var startRow = 27;
var colToCheck = 12; // Column L
function shouldHideRow(ss, rowIndex, rowValue) {
if (rowValue != '') return false;
if (ss.getRange(startRow + rowIndex, colToCheck, 1, 1).isPartOfMerge()) return false;
if (ss.getRange(startRow + rowIndex + 1, colToCheck, 1, 1).isPartOfMerge()) return false;
return true;
}
function myFunction() {
var ss = SpreadsheetApp.getActive().getSheets()[0];
var numRows = ss.getLastRow();
var elements = ss.getRange(startRow, colToCheck, numRows).getValues();
for (var i=0; i<(numRows - startRow); i++) {
if (shouldHideRow(ss, i, elements[i][0])) {
ss.hideRows(startRow + i);
}
}
// Hide the rest of the rows
var totalNumRows = ss.getMaxRows();
if (totalNumRows > numRows)
ss.hideRows(numRows+1, totalNumRows - numRows);
}
Условия, которые проверяют решение о том, скрывать ли строку или нет, следующие:
- Если ячейка L строки не пуста, не скрывать.
- Если ячейка L строки объединена, не скрывать.
- Если ячейка L следующей строки имеет видобъединены, не скрываются.
- В противном случае , скрыть.