![見出し画像](https://assets.st-note.com/production/uploads/images/82212516/rectangle_large_type_2_830499cfc42f4a278f9e5e404c05c9e2.jpeg?width=1200)
【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]);
}
}