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

时间:2018-05-24 07:53:29

标签: google-apps-script google-sheets

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行下方的行。

1 个答案:

答案 0 :(得分:0)

Sheet对象有两种方法:

hideRow(rowIndex)

hideRows(rowIndex, numRows)

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