2016-03-28 9 views
0

以下のスクリプトがあります。私はシート/タブ "March"のセル(A:Aでは "x"がある)を非表示にしたいと思って始めましたが、すべてのタブでそれを作成する必要があります。Google Script:すべてのタブ/シートのセルを非表示にすることはできません

どうすればいいですか?手伝ってくれてありがとう。

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); 
    } 
    } 
} 

答えて

0

あなたはそれが)(getSheetsを使用して行うことができます - https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet#getsheets

まずfuncitonあなたの皮細胞をカプセル化します。

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]); 
    } 
} 
+0

それが何らかの理由でエラーが発生します。 – Kamil

+0

私の悪い、実際には関数のために明示的に型を指定していません。私はすでに上記のコードを修正しました。 –

+0

が今すぐ機能します!ありがとう! – Kamil

関連する問題