Google脚本:无法隐藏所有标签/表格中的单元格

时间:2016-03-28 19:43:00

标签: google-api google-sheets

我有下面的脚本。我开始想要隐藏单元格(在A:A中有“x”)仅用于工作表/选项卡“March”,但我需要在所有选项卡中进行。

我该怎么办?谢谢你的帮助。

function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("March");
  var maxRows = sheet.getMaxRows();

  //show all the rows
  sheet.showRows(1, maxRows);

  //get data from clumn A
  var data = sheet.getRange('A:A').getValues();

  //iterate over all rows
  for(var i=0; i< data.length; i++){
    //compare first character, if asterisk, then hide row
    if(data[i][0].charAt(0) == 'x'){
      sheet.hideRows(i+1);
    }
  }
}

1 个答案:

答案 0 :(得分:0)

你可以使用getSheets() - https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet#getsheets

来完成

首先封装你的隐藏细胞功能;

function hideCells(sheet)
{
    var maxRows = sheet.getMaxRows();

  //show all the rows
  sheet.showRows(1, maxRows);

  //get data from clumn A
  var data = sheet.getRange('A:A').getValues();

  //iterate over all rows
  for(var i=0; i< data.length; i++){
    //compare first character, if asterisk, then hide row
    if(data[i][0].charAt(0) == 'x'){
      sheet.hideRows(i+1);
    }
}

然后在所有纸张上运行:

function onOpen() {
  var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();

  for(var i=0; i< sheets.length; i++){

      hideCells(sheets[i]);
  }
}