Нужна помощь в передаче переменной из функции onEdit (e) - PullRequest
1 голос
/ 28 января 2020

У меня есть два сценария, которые запускаются по отдельности, но я не могу их правильно объединить. Я пытаюсь использовать функцию onEdit (e) для захвата строки редактируемой ячейки, а затем использовал этот номер строки для изменения другого листа.

function onEdit(e) {
 if (
    e.source.getSheetName() == "GPS" &&
    e.range.columnStart == 10 &&
    e.range.columnEnd == 10 &&
    e.range.rowStart >= 4 &&
    e.range.rowEnd <= 5000
  ) {
    var range = e.range;
    var row = range.getRow();

    var change = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    var url = change.getRange(row,1,1,1).getValue();                         //How to use this variable????????????




function toMaster(change,row){

     var dest = SpreadsheetApp.openById('destinationsheetidxxxx')   
     var s = dest.getSheetByName('GPS')                                                  
     var data = s.getDataRange().getValues();
     var url = change.getRange(row,1,1,1).getValue()




 for(var i = 0; i<data.length;i++){
    if(data[i][0] == url){                                                   
      Logger.log((i+1))               

      var range = s.getRange(i+1,10,1,1);                         
      range.setValue('Yes')
}


1 Ответ

1 голос
/ 28 января 2020

Попробуйте это:

function onEdit(e) {
  var sh=e.range.getSheet();
  if(sh.getName()=="GPS" && e.range.columnStart==10 && e.range.columnEnd == 10 && e.range.rowStart >= 4 && e.range.rowEnd<=5000) {
    var row = e.range.rowStart;
    var url = sh.getRange(row,1).getValue();     
    var dss=SpreadsheetApp.openById('destId')
    var dsh=dss.getSheetByName('GPS')
    var drg=dsh.getRange(row,1)
    var data=drg.getValues()
    for(var i = 0; i<data.length;i++){
      if(data[i][0]==url){                                                   
        Logger.log(i+1);               
        var range = dsh.getRange(i+1,10).setValue('Yes');                         
      }
    }
  }
}
...