⛳
GASで特定シートを削除
//削除除外シートor末尾のシート1つを残して、すべてのシートを削除する関数
function deleteALLSheets() {
//あらかじめ削除したくないシート名を記載してください。例「["シート1","シート5","シート10"]」
const notDelSheet = [""];
// 現在アクティブなスプレッドシートを取得
let mySheet = SpreadsheetApp.getActiveSpreadsheet();
//取得したスプレッドシートにある全てのシートを配列として取得
let sheetData = mySheet.getSheets();
//末尾のシートを削除するかを決めるフラグ
let flag = 1;
if (flag === 1) {
let sheet = mySheet.getSheetByName("シート1");
sheet ? mySheet.deleteSheet(sheet) : '';
mySheet.insertSheet("シート1");
}
//forループでシートを削除する削除を行う
for(i=0;i<sheetData.length;i++){
//削除したくないシート存在しない場合、末尾のシートは削除せずスキップする
if(flag ==0 && i == sheetData.length-1){
break;
}
//削除対象から除外するシートにヒットした場合は、削除処理は行わず、フラグを立てる
if(notDelSheet.indexOf(sheetData[i].getSheetName()) != -1){
flag = 1;
}
//削除除外シートではない場合は、削除処理を実行する
else{
mySheet.deleteSheet(sheetData[i]);
}
}
}
Discussion