Скрипт 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();
}