シート数が肥大化してしまったスプレッドシートを整理するために、GASで特定の文字を含むシートを一括で削除する処理を作成しました。
keywaod
に削除対象のシートに含まれる文字を設定してsheetArrangement
を実行するとシートを一括で整理できます。
function sheetArrangement(keyWord=" 特定の文字"){
let sheetList = getSheetsNames();
for(let i of sheetList){
if (i.indexOf(keyWord) != -1) {
let sheetName= i;
sheetDelete(sheetName);
Logger.log(sheetName+"を削除しました");
}
}
}
function sheetDelete(sheet_name){
// 現在アクティブなスプレッドシートを取得
let ss = SpreadsheetApp.getActive();
// そのスプレッドシートにある シート名:テスト用シート のシートを取得
let sheet = ss.getSheetByName(sheet_name);
// そのシートを削除
ss.deleteSheet(sheet);
}
//シートの名前と数を取得する処理。
function getSheetsNames(){
let ss = SpreadsheetApp.getActiveSpreadsheet();
//シート数取得
let count = ss.getNumSheets();
//シート名取得
let sheet;
let sheetNames=[];
for(let i = 0; i < count; i++){
sheet = ss.getSheets()[i];
// シート名を変数に格納
sheetNames[i] = sheet.getSheetName();
}
return sheetNames;
}
シートはこまめに整理しないとダメですね。