Я работаю на листах Google, пытаясь настроить два сценария onEdit, один для работы сразу после другого. Я не совсем программист, но могу хотя бы немного прочитать кодирование и по большей части выяснить, что и где можно изменить, чтобы скрипты работали для моей электронной таблицы. Я просмотрел StackOverflow и справочный форум Google, но ничто не помогло мне с проблемой, с которой я столкнулся.
Вот что я пытаюсь сделать. Столбец 12 (L) - это столбец состояния с параметрами; Выполняется, Нет разрешения, решено.
Когда что-то переворачивается в Resolved, я бы хотел, чтобы оно переместилось в конец электронной таблицы, а затем эта нижняя строка была выделена.
Вот два сценария, с которыми я работаю, сами они делают то, что я хочу, но вместе запускается второй сценарий, который сначала выделяет строку, а затем перемещается вниз. Также по какой-то причине, когда второй скрипт активен, есть 50-50, что, когда запись перемещается вниз, перемещается вверх на одну строку.
Первый скрипт:
function onEdit(e){
// assumes source data in sheet named Problems
// target sheet of move to named Problems, Problems
// test column with yes/no is col 12 or L
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "Problems" && r.getColumn() == 12 && r.getValue() ==
"Resolved") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Problems");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}
}
Второй скрипт:
function onEdit2(e) {
if (e) {
var ss = e.source.getActiveSheet();
var r = e.source.getActiveRange();
if (r.getRow() != 1 && ss.getName() == "Problems") {
status = ss.getRange(r.getRow(), 12).getValue();
rowRange = ss.getRange(r.getRow(),1,1, 12);
if (status == 'Resolved') {
rowRange.setBackgroundColor("#99ccff");
}
}else if (status == '') {
rowRange.setFontColor("#000000");
}
}
}
Я настроил onEdit2 на триггер, но это не сработало :(
Любая помощь приветствуется, и, пожалуйста, дайте мне знать, если потребуется дополнительная информация.