Вы можете использовать onChange
Устанавливаемый триггер , но примите во внимание его Ограничения . Таким образом, код, который я вам предоставлю, будет запускаться каждый раз, когда вы добавляете новый лист или редактируете имя листа:
// Installable Trigger
function onChange() {
var dates = sheetNames();
Logger.log(dates);
}
function sheetNames(){
try{
// Get all sheets and then return
return SpreadsheetApp.getActiveSpreadsheet()
.getSheets()
// Get a new array only with the sheet names
.map(function(sheet){ return sheet.getName() })
// Sort the array from the oldest date to the newest date
.sort(
function (sheet1, sheet2){
return new Date(sheet2) - new Date(sheet1);
});
} catch(e){
Logger.log("Not a date");
return e;
}
}
Теперь для настройки устанавливаемого триггера сделайте следующее :
1) Go в ваш проект Apps Script
2) Нажмите Edit-> Триггеры текущего проекта
3) Нажмите «+ Add Trigger»
4) Выберите:
Выберите, какую функцию запустить ->
Выберите источник события-> Из электронной таблицы
Выберите тип события -> При изменении
5) Нажмите Сохранить