Могу ли я ограничить функцию onEdit ячейкой с флажком в Google Sheets? - PullRequest
2 голосов
/ 27 октября 2019

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

Итак, мне интересно, есть ли способ ограничить 'Функция onEdit для одного флажка. то есть я хотел бы заполнить информацию без отключения каких-либо функций, затем, когда пользователь будет готов, щелкните флажок, чтобы отправить информацию, который затем устанавливает флажок в значение false и сбрасывает входные ячейки.

Возможно ли это?

1 Ответ

2 голосов
/ 27 октября 2019

Вы можете использовать что-то вроде этого:

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 () вообще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...