谷歌应用程序脚本仅隐藏具有特定范围的行

问题描述 投票:0回答:1
function hideRows2() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getSheetByName("Sheet1");
  var r = s.getRange("D:D");
  var v = r.getValues();
  var h = new Array();
  var count = 0;
  s.unhideRow(r);
  var firstRow = 6;
  for(var i=firstRow-1;i<v.length;i++) {
    if( v[i][0]=="" )
      count=count+1;
    if( i >= v.length-1 || v[i+1][0]!="" ) {
      if(count>0)
        h.push([i+2-count,count]);
      count=0;
    }
  }
  for(var i=0;i<h.length;i++)
    s.hideRows(h[i][0],h[i][1]);
};

如果列D是空单元格,如何将行从第6行隐藏到第21行,只有当前脚本从第6行隐藏行到结束行。

目前,该脚本工作正常,但我无法隐藏第21行下面的行。

google-apps-script google-sheets
1个回答
0
投票

Sheet对象有两种方法:

hideRow(rowIndex)

hideRows(rowIndex, numRows)

我要说你的循环应该使用hideRow()来隐藏各行而不是调用hideRows来隐藏多于1行。

© www.soinside.com 2019 - 2024. All rights reserved.