У меня в таблице есть страницы с единой структурой "Название + метка + номер". Мне нужно написать скрипт, который удаляет все страницы с меткой и номером начиная с 2 и до выбранного. Я написал следующий код:
function delete() {
let NumSheets = getActiveSheet().getNumSheets()
let getActiveSheet = SpreadsheetApp.getActiveSpreadsheet()
let sheets = getActiveSheet().getSheets()
let totalNum = 6
for (let a = 2; a <= totalNum ;a++) {
for (let i = 0; i < NumSheets; i++) {
if (getActiveSheet.getSheets()[i].getSheetName().toString().includes(`метка ${a}`)) {
getActiveSheet.deleteSheet(sheets[i]);
NumSheets = getActiveSheet.getNumSheets()
}
}
}
}
Когда находится подходящий лист, он успешно удаляется и цикл идёт дальше.
Проблема в том, что когда номер после метки увеличивается, цикл по новой перебирает страницы и как только доходит до страницы с номером удаленной ранее выдаёт Exception: Нет листа с идентификатором "1794292525".
Что нужно добавить в цикл, чтобы данные о листах обновились и чтобы цикл не ссылался на удаленный лист?