如何将脚本仅应用于Google电子表格中的一个工作表

ooh*_*mer 2 google-sheets google-apps-script

我有一个谷歌电子表格,有两张名为Robin和Lucy的表格.每次向A列添加一些数据时,我都会创建/发现/修改一个脚本来对工作表上的数据进行排序

function onEdit(event){

  var sheet = event.source.getActiveSheet();
  var editedCell = sheet.getActiveCell();

  var columnToSortBy = 1;
  var tableRange = "a2:I30";
    if(editedCell.getColumn() == columnToSortBy){   
   var range = sheet.getRange(tableRange);
   range.sort( { column : columnToSortBy } );
  }
}
Run Code Online (Sandbox Code Playgroud)

这个脚本效果很好,但我只想把它应用到第一张表Robin上.第二张表中的数据Lucy不一样,所以一旦我解决了这个问题,我将为那一个创建另一个不同范围的脚本.

我想我需要使用getSheetByName("Robin"),但我似乎无法让它工作.提前致谢

Ser*_*sas 5

你可以把你的整个函数放在这样的条件:

function onEdit(event){

  var sheet = event.source.getActiveSheet();
  if(sheet.getName()=='Robin'){
  var editedCell = sheet.getActiveCell();

  var columnToSortBy = 1;
  var tableRange = "a2:I30";
    if(editedCell.getColumn() == columnToSortBy){   
   var range = sheet.getRange(tableRange);
   range.sort( { column : columnToSortBy } );
  }
}
}
Run Code Online (Sandbox Code Playgroud)

或者如果条件如下所示,您也可以返回

...
  var sheet = event.source.getActiveSheet();
  if(sheet.getName()!='Robin'){return}
...
Run Code Online (Sandbox Code Playgroud)

两种方法都以相同的方式工作.