Пример в Таблице
https://docs.google.com/spreadsheets/d/1jyvFyJ8BHX...
Как вариант, более универсальное решение
function run() {
const book = SpreadsheetApp.getActive();
const matcher = new RegExp('метка (\\d+$)', 'i');
const sheetChecker = (sheet) => {
const [_, num] = sheet.getSheetName().match(matcher) || [];
if (Number(num) >= 2 || Number(num) <= 6)
book.deleteSheet(sheet);
}
deleteSheets_(book, sheetChecker);
}
/**
* @param {globalThis.SpreadsheetApp.Spreadsheet} book
* @param {SheetChecker} sheetChecker
* @returns {void}
*/
function deleteSheets_(book, sheetChecker) {
book.getSheets().forEach(sheet => {
if (sheetChecker(sheet)) {
book.deleteSheet(sheet);
}
});
}
/**
* Проверяет, подходит ли лист для обработки
* @callback SheetChecker
* @param {globalThis.SpreadsheetApp.Sheet} sheet
* @returns {boolean}
*/
Теперь, переопределяя
sheetChecker
, можно удалять любые листы, которые будут валидны проверке в этой функции.