見出し画像

【GAS】Google Apps Script 活用事例 シートの非表示・再表示の自動化

複数のシートを一括で非表示にしたい

全部のシートを非表示にするのではなく、コレとこのシートだけは残しておきたいというケースってありませんか?

/**
 * 目次以外のシートを非表示にする
 * 
 */
function hideAllSheets() {
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  const sheets      = spreadsheet.getSheets();
  const array       = ['目次', '集約データ'];
  for(const sheet of sheets){

    //配列に列挙したシート名の場合は非表示にしない。
    if(array.indexOf(sheet.getName()) !== -1){
      continue;
    }
    else{
      sheet.hideSheet();
    }
  }
}

上記のスクリプトの場合は、目次と集約データの場合は何もせず、他のシート名だった場合は非表示にするというスクリプトです。

全てのシートを再表示する

function showAllSheets(){
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  const sheets      = spreadsheet.getSheets();
  for(const sheet of sheets){
    sheet.showSheet();
  }
}

特定の名前のシートを一括で新規作成したい

 function generateNewSheets() {
   const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
   const array = ['のび太', 'スネ夫', 'しずか', 'たけし'];
   for(let i = 0; i < array.length; i++){
     spreadsheet.insertSheet(array[i]);
   }
 }

他にこんな記事も書いています。


この記事が気に入ったらサポートをしてみませんか?