Writing a row, or even inserting a row, to a Google Sheet via Appscript not triggering the onChange event

Viewed 17

I need to have an event fired when a new row on a Google Sheet gets added. I've set up an OnChange event in the IDE and it triggers when I manually insert, delete or even paste in a new row.

The trigger (works for manual changes only):

enter image description here

The onChange function for testing just writes to another tab (sheet) within the spreadsheet, and works fine, for example when making manual changes. BTW I'm not using Logger.log because it's in a doPost function:

function onChange(e) {
  logToSheet("onChange triggered")
}

But it doesn't trigger when writing a new line like this (which does write the row to the sheet):

sheet.getRange(nextRow, 1, 1, newRow.length).setValues([newRow])

or even when inserting a new line like this:

sheet.insertRowAfter(sheet.getLastRow())

How can I get onChange or another trigger to fire with changes via script as above?

Thank you for any help.

P.S. I've also tried the On Edit trigger but no joy.

0 Answers
Related