Я посмотрел документацию для метода hideRow (s).Поэтому, если вы посмотрите ниже, вы увидите, что метод принимает два параметра.rowIndex (от какой строки я должен начать скрываться), и numRows принимает, сколько строк вниз от начальной точки я должен скрыть.
hideRows (rowIndex, numRows)
Оба эти параметра принимают одно целочисленные значения,Примером может быть: sheet.hideRows (1,3). Он начнет скрываться от первой строки и скроет следующие 3 строки.)
Вы получаете ошибку, потому что вы фактически пытаетесь нажать "[1, 2,3,4,5,6,7,8] "во что-то, что принимает" 1 ".
Я тестировал этот код на 150 строках (с одним пустым значением), он, казалось, работал хорошо.(Время выполнения составило 12 секунд.) Надеюсь, это поможет.
function hideRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet = ss.getActiveSheet()
for (var i = 1; i < sheet.getLastRow(); i++) {
if(sheet.getRange(i, 1, 1, 1).isBlank()) {
sheet.hideRows(i)
}
}
}