Explain purpose of `e` event parameter in onEdit

2020-04-17 06:57发布

问题:

I have some question, hope guys can answer me. In this following function, I can't understand event 'e'. What is the 'e'? how we call the function or where's the function called? Give me some example, please!

function my_on_edit(e) {
  var s = findSheetById_(e.gridId);
  var r = e.range;
  s.getRange(r.rowStart, r.columnEnd+1).setValue( s.getName() );
}

function findSheetById_(id) {
  var sheets = SpreadsheetApp.getActive().getSheets();
  for( var i in sheets )
    if( sheets[i].getSheetId() == id )
      return sheets[i];
  throw 'Unable to find sheet with id: '+id;
}

回答1:

Function my_on_edit is probably bound to onEdit trigger, check out Google Script triggers. List of active triggers is available in script editor in Resources menu.

On each edit action on your spreadsheet this handler is called with edit event object passed. e contain fields:

{ 
    String user, 
    SpreadSheet source, 
    Range range,
    Object value 
}

You can find more detailed description at section "Spreadsheet Edit Events"