Использование нескольких OnEdits в Javascript - PullRequest
0 голосов
/ 02 апреля 2020

, поэтому я пытаюсь объединить несколько onEdits с указанными c критериями, но мне трудно. Я новичок в этом, но ранее я получил некоторую помощь и смог создать OnEdits, которые будут go для разных назначенных вкладок на одном листе.

Однако теперь я пытаюсь сохранить эту функциональность, но также добавляю возможность добавлять несколько OnEdits из ДРУГОГО листа.

Например, при проверке столбцов на главной вкладке go экспортировать 1 и 2, в то время как столбцы проверяются с отдельной вкладки (master2 будет) go на вкладки с именами экспорт 3 и 4. Таким образом, в основном - два отдельных onEdits, начинающиеся с двух разных вкладок, а не с одной.

Это возможно? Вот что я попробовал, но я супер.

'''function onEdit(e) {
  //e.source.toast('Entry' + JSON.stringify(e));
  var sh=e.range.getSheet();
  if(sh.getName() == "master" && e.value=="TRUE") {
    if(e.range.columnStart==4) {
      //e.source.toast('Flag1');
      var tsh=e.source.getSheetByName("export1");
      var trg=tsh.getRange(tsh.getLastRow()+1,1);
    }
    if(e.range.columnStart==5) {
      //e.source.toast('Flag2');
      var tsh=e.source.getSheetByName("export2");
      var trg=tsh.getRange(tsh.getLastRow()+1,1);
    }
    sh.getRange(e.range.rowStart,1,1,sh.getLastColumn()).copyTo(trg)
   if(sh.getName() == "master2" && e.value=="TRUE") {
    if(e.range.columnStart==4) {
      //e.source.toast('Flag1');
      var tsh=e.source.getSheetByName("export3");
      var trg=tsh.getRange(tsh.getLastRow()+1,1); 
     }
}'''

1 Ответ

0 голосов
/ 02 апреля 2020

Полагаю, это то, что вы ищете:

function onEdit(e) {
  //e.source.toast('Entry' + JSON.stringify(e));
  var sh=e.range.getSheet();
  //master
  if(sh.getName() == "master" && e.value=="TRUE") {
    if(e.range.columnStart==4) {
      //e.source.toast('Flag1');
      var tsh=e.source.getSheetByName("export1");
      var trg=tsh.getRange(tsh.getLastRow()+1,1);
    }
    if(e.range.columnStart==5) {
      //e.source.toast('Flag2');
      var tsh=e.source.getSheetByName("export2");
      var trg=tsh.getRange(tsh.getLastRow()+1,1);
    }
    sh.getRange(e.range.rowStart,1,1,sh.getLastColumn()).copyTo(trg);
  }
  //master2
  if(sh.getName()=="master2" && e.value=="TRUE") {
    if(e.range.columnStart==4) {
      //e.source.toast('Flag1');
      var tsh=e.source.getSheetByName("export3");
      var trg=tsh.getRange(tsh.getLastRow()+1,1); 
    }
    sh.getRange(e.range.rowStart,1,1,sh.getLastColumn()).copyTo(trg)
  }
}
...