Я пытаюсь вытащить список всех листов и обновить этот список, если что-то изменилось в книге.
В моем листе Google я использую функцию ниже, чтобы поместить все листы в список:
=SHEETNAME()
С помощью приведенного ниже сценария я намереваюсь обновить его при событии изменения:
function sheetName(e) {
return SpreadsheetApp.getActive()
.getSheets()
.map(function(sheet) {
return sheet.getName();
});
}
/*Create a installable trigger to listen to grid changes on the sheet*/
function onChange(e) {
if (!/GRID/.test(e.changeType)) return; //Listen only to grid change
SpreadsheetApp.getActive()
.createTextFinder('=SHEETNAME\\([^)]*\\)')
.matchFormulaText(true)
.matchCase(false)
.useRegularExpression(true)
.replaceAllWith(
'=SHEETNAME(' + (Math.floor(Math.random() * 500) + 1) + ')'
);
}
Настроил приведенный ниже триггер, который также работает при изменении: ![enter image description here](https://i.stack.imgur.com/JpaSt.png)
Тем не менее, к сожалению, список не обновляется автоматически.
Любая помощь высоко ценится!