Часть кода, над которой я работаю, состоит из двух функций - generateID
и onEdit(e)
.generateID
- генерирует число по шаблону и работает нормально.onEdit(e)
- это проблема, с которой я сталкиваюсь.
В столбце A электронной таблицы пользователь выбирает значение из раскрывающегося списка (изначально столбец A пусто, диапазон от строки 2
до getLastRow()
, строка 1 для заголовка).После выбора значения мне нужно вставить результат generateID
в следующий столбец B той же строки.Если значение в coumn A затем изменяется (выбирается из выпадающего списка), мне нужно generateID
, чтобы обновить его значение.
Вот что я пробовал до сих пор:
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var activeSheet = ss.getSheetByName("TEMP");
var range = activeSheet.getRange(2, 1, activeSheet.getLastRow(), 1).getValues();
for (var i =0; i < range.length; i ++) {
if (e.range [i][0] !== "") {
activeSheet.getRange(i + 2, 2, 1, 1).setValue(generateID());
};
};
};
OnEdit, кажется, является правильным выбором для просмотра изменений в диапазоне.С (е) код, кажется, не работает вообще.Попытка сделать это как onEdit()
работает, но неправильно.Оцените любую помощь по этому вопросу.Спасибо.