GAS

【GAS】特定の文字を含むシートをまとめて削除する

シート数が肥大化してしまったスプレッドシートを整理するために、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;
}

シートはこまめに整理しないとダメですね。

ABOUT ME
ytakeuchi
都内在住のフロントエンドエンジニア。2016年からフリーランスとして活動中。座右の銘は「昨日よりも楽に」。好きな言葉は「効率化」。こんな性格なのでプライベートではGoogle Apps Scriptばかり触っています。