Google script onEdit in all pasted cells

2019-08-21 01:02发布

问题:

I have been using an oEdit function to set the actual date in the column S when I add a new carton to my inventory (ctn, in column F).

It works perfectly when I enter the references manually but when I paste few references cartons at once, the script only works on the first edited row.

How do I manage execute the script for all the pasted rows?

Please find following the script:

function onEdit(ctn) {

var sheet = ctn.source.getActiveSheet();
var added_ctn = ctn.range;
var date_add = sheet.getRange("S" + added_ctn.getRow());

if (sheet.getName() !== 'SORTIE CENTRALE VERS AUBER'
    || added_ctn.columnStart != 6)        
    {return}

    date_add.setValue(new Date());

}

回答1:

Something this perhaps?

function onEditxx(e) 
{
  var sheet = e.source.getActiveSheet();
  if (sheet.getName() !== 'SORTIE CENTRALE VERS AUBER'|| e.range.getColumn() != 6)
  {
    return;
  }
  for(var i=0;i<e.range.getNumRows();i++)
  {
    var offset=e.range.getRow() + i;
    sheet.getRange('S'+ offset).setValue(new Date());
  }
}