Очистить определенные ячейки при закрытии окна AppScript

#google-apps-script

#google-apps-script

Вопрос:

Мне нужен механизм appscript, в котором я хочу очистить определенные ячейки (A2: B8), если окно электронной таблицы закрыто. У меня есть один способ сделать это, и это:

 onOpen()
{
  sheet.getRange("A2:B8").setValues("");
}
  

Но это похоже на взлом, но я хотел знать, есть ли определенный способ сделать это … например:

Browser.onWindowClose()=>{clearCells()}

Ответ №1:

Возможно, вы сможете это сделать, если у вас открыто модальное диалоговое окно или боковая панель. При попытке закрыть боковую панель или диалоговое окно вы можете перехватить событие с помощью beforeunload , если поймано, очистите все ячейки с помощью google.script.run() . Предполагается, что пользователь закрывает боковую панель до / вместе с основным веб-приложением Google sheets.

Ответ №2:

На данный момент нет onClose() или onExit() встроенного триггера. Вот список со всеми доступными в настоящее время триггерами.

Об отсутствии этой функции уже сообщалось в IssueTracker. Вы можете перейти туда и нажать на кнопку со звездочкой в левом верхнем углу страницы, чтобы «увеличить» шансы на то, что эта функция будет реализована Google.

В качестве дополнительного примечания, clearContent() было бы более уместно:

 sheet.getRange("A2:B8").clearContent();