Скрипт Google Apps не запускается при редактировании

Я написал скрипт для сортировки и извлечения записей из столбца листов и отправки в форму Google ddl. Это функционально, однако триггеры, которые я установил в скрипте приложений, для запуска функции при редактировании и при изменении ничего не делают, когда в данных происходит какое-либо событие. Единственный триггер, который работает, - это отправка формы, но она не будет выдвигать новые записи, отправленные в форму, до следующей отправки. Сценарий запустится немедленно, и данные, которые заполняют форму, не будут включены, поскольку они передаются другим листом (для проверки данных), который подается из данных формы (эта передача занимает несколько минут). Я поделюсь своим кодом ниже для справки. Спасибо за любую помощь, вы можете предоставить!

function popFormList() {


  Utilities.sleep(5000);

  var sheet = SpreadsheetApp.openById('ID').getSheetByName("SHEET1");
  var form = FormApp.openById('ID');

  siteSort(sheet);

  var siteValues = sheet.getRange(2, 3, sheet.getLastRow()-1)
   .getValues()
   .filter(function(siteElement, sitePos, siteArr) {
    return siteArr.indexOf(siteElement) === sitePos;
   });
  var siteItem = form.getItems(FormApp.ItemType.LIST)
  .filter(function(siteItem) {
          return siteItem.getTitle() === "Title";
          })[0].asListItem();
  siteItem.setChoiceValues(siteValues);
  endSort(sheet);
}

    function siteSort(e) {
  e.getRange(1, 1, e.getMaxRows(), e.getMaxColumns()).createFilter();
  e.getRange('C1').activate();
  e.getFilter().sort(3, true);
}

    function endSort(e) {
  e.getRange('B1').activate();
  e.getFilter().sort(2, true);
  e.getFilter().remove();
}

0 ответов

Другие вопросы по тегам