Удалить ячейки при отправке формы ответа - PullRequest
0 голосов
/ 20 декабря 2018

Я пытаюсь удалить данные в серии ячеек при повторной отправке формы Google (когда Google предлагает «изменить ваш ответ»).

В настоящее время у меня есть этот код:

// when a cell in column A (F:F) is changed, clear the corresponding cell in column C0-DD
function onEdit(e) {
  if(e.range.columnStart === 12 && e.range.getValue() != 'V01') { 
    e.range.offset(0, 81, 1, 5).clearContent();
  }
}

Это прекрасно работает, когда я редактирую строку вручную (изменяя значение в столбце F на V02).Если я попытаюсь перейти на V02 с помощью URL-адреса формы Google, код не запустится.У меня установлен триггер «при редактировании» - я пробовал «при изменении» и «при отправке формы», но ни один из них не сработал.Куда я иду не так?

1 Ответ

0 голосов
/ 20 декабря 2018

Единственный способ запустить функцию при отправке формы Google - это установить триггер для события «Отправка формы».Если вы хотите обрабатывать два разных триггера, вам понадобятся две разные функции.

Несмотря на то, что объект события для события отправки формы имеет то же свойство range, что и «При редактировании», я не передал бы объект события.Я бы получил диапазон и передал бы его.

Итак, создайте новую функцию для отправки формы и установите триггер «При отправке формы».В итоге вы получите 3 функции.

function runWhenFormSubmitted(e) {//Install with Form Submit trigger
  var rng = e.range;

  clearContentWhenEdit(rng);
}  

function runWhenCellEdited(e) {//Install with On Edit trigger
  var rng = e.range;

  clearContentWhenEdit(rng);
} 

function clearContentWhenEdit(rng) {
  if(rng.columnStart === 12 && rng.getValue() != 'V01') { 
    rng.offset(0,81,1,5).clearContent();
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...