Объединение двух onEdits - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь объединить несколько onEdits, чтобы при установке флажка в одном столбце эта строка отображалась на определенной вкладке. Аналогично, когда флажок помечается как истинный в другом, тот же ряд переходит на совершенно другую вкладку.

Они работают отдельно, но я изо всех сил пытаюсь их объединить.

'' '

function onEdit(event) {
  myFunction1(event);
  myFunction2();
}

function myFunction1(event) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();
  if(s.getName() == "main" && r.getColumn() == 4 && r.getValue() == true) {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Completed");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).copyTo(target);

  }
}

function myFunction2() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();
  if(s.getName() == "main" && r.getColumn() == 5 && r.getValue() == true) {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("Combine");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).copyTo(target);

' ''

1 Ответ

2 голосов
/ 01 апреля 2020

Вам также необходимо изменить названия листов. Самая большая проблема заключается в том, что e.value, вероятно, должно было быть "TRUE" вместо true, поэтому я проверил его с помощью первой команды toast.

function onEdit(e) {
  //e.source.toast('Entry' + JSON.stringify(e));
  var sh=e.range.getSheet();
  if(sh.getName() == "Sheet10" && e.value=="TRUE") {
    if(e.range.columnStart==4) {
      //e.source.toast('Flag1');
      var tsh=e.source.getSheetByName("Sheet11");
      var trg=tsh.getRange(tsh.getLastRow()+1,1);
    }
    if(e.range.columnStart==5) {
      //e.source.toast('Flag2');
      var tsh=e.source.getSheetByName("Sheet12");
      var trg=tsh.getRange(tsh.getLastRow()+1,1);
    }
    sh.getRange(e.range.rowStart,1,1,sh.getLastColumn()).copyTo(trg)
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...