Вы можете использовать что-то вроде этого:
function onEdit(e) {
if(e.range.getSheet().getName()=='Sheet8') {
if(e.range.getA1Notation()=='A1' && e.value=="TRUE") {
SpreadsheetApp.getUi().alert('You Clicked A1. You have less than 30 seconds to run a function here');
e.range.setValue("FALSE");
//you less than 30 seconds to run a function here
}
if(e.range.getA1Notation()=='A2' && e.value=="TRUE") {
SpreadsheetApp.getUi().alert('You Clicked A2. You have less than 30 seconds to run a function here');
e.range.setValue("FALSE");
//you less than 30 seconds to run a function here
}
if(e.range.getA1Notation()=='A3' && e.value=="TRUE") {
SpreadsheetApp.getUi().alert('You Clicked A3. You have less than 30 seconds to run a function here.');
e.range.setValue("FALSE");
//you less than 30 seconds to run a function here
}
}else{
return;
}
}
Чтобы использовать это, вам нужно установить флажки в A1, A2 и A3. Вы можете добавить функции, как показано в коде, но onEdit (e) должен завершиться за 30 секунд.
Лично я бы использовал пользовательский диалог, чтобы делать то, что вы делаете. Таким образом, у меня есть намного больше вариантов, так как у меня есть все события любой html-страницы, и нет необходимости использовать onEdit () вообще.