仅当用户在特定范围内进行编辑时才执行onEdit

时间:2020-03-28 05:26:40

标签: google-apps-script

仅当用户在Google App脚本中对指定范围进行任何编辑时,如何才能触发onEdit?

1 个答案:

答案 0 :(得分:0)

您无法创建仅在某些单元格被编辑时才会触发的onEdit,但是您可以在函数的开头放置一个条件,以检查所编辑的单元格是否属于要跟踪其更改的范围的一部分。为此,您可以使用event object

例如,您可以执行此操作(检查嵌入式注释):

function onEdit(e) {
  // Information from edited range:
  var range = e.range;
  var editedRow = range.getRow();
  var editedCol = range.getColumn();
  var editedSheet = range.getSheet();
  // Range to track (please change accordingly):
  var sheetName = "Sheet To Track";
  var minCol = 3;
  var maxCol = 7;
  var minRow = 2;
  var maxRow = 5;
  // Check that edited sheet, column and row are the ones you want to track changes from:
  if (editedSheet.getName() === sheetName && editedRow >= minRow && editedRow <= maxRow && editedCol >= minCol && editedCol <= maxCol) {
    // Actions to perform if edited range is correct
  }
}

上面的函数将首先检查所编辑的范围是(1)在第3列与第7列之间,(2)在第2与第5行之间,还是在工作表Sheet To Track中(3)。

参考:

相关问题