OnEdit не запускается, когда данные импортируются из другого листа или копируются / вставляются Google App Script - PullRequest
0 голосов
/ 22 апреля 2020

Я создал скрипт, чтобы он импортировал данные из одной вкладки в другую, только если в столбце 13 указано «Неактивно». Проблема в том, что эти данные либо копируются / вставляются, либо переносятся с другого листа с использованием «importrange», и поэтому onEdit не распознает значение и, следовательно, ничего не делает, если я не отредактирую ячейку вручную. Не могу понять, возможно ли это вообще.

function onEdit(e) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = e.source.getActiveSheet();
  var r = e.range.getActiveRange();

  if(s.getName() == "Test" && r.getColumn() == 13 && r.getDisplayValue() == "Inactive" ) {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Inactive");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).copyTo(target);
  }
}
...