Reputation: 71
I have been using the Sheets API v4 to allow authorised users enter data into a spreadsheet from a form. What I want to do is have a google apps script trigger a function when ever new data is added. I cant seem to get the on edit trigger to work using
function createSpreadsheetEditTrigger() {
var ss = SpreadsheetApp.getActive();
ScriptApp.newTrigger('makeLog')
.forSpreadsheet(ss)
.onEdit()
.create();
}
function makeLog(){
Logger.log("New Entry")
}
Is it possible to do that?
Upvotes: 1
Views: 727
Reputation: 201703
How about following sample script? When spreadsheet was edited from outside by Sheet API v4, onChange()
becomes a trigger for it. So please change from onEdit()
to onChange()
for your script. I prepared a sample script I used for testing.
This sample script send an e-mail, when spreadsheet was edited by Sheet API v4. I confirmed that this works fine. When you use this sample, please input your e-mail and run firstly createSpreadsheetEditTrigger()
. By this, a trigger is installed. After this, edit spreadsheet by Sheet API v4.
When when spreadsheet was edited from outside by Sheet API v4, I used sendEmail()
as a sample, because script editor is closed.
Sample script :
function createSpreadsheetEditTrigger(){
var ss = SpreadsheetApp.getActive();
ScriptApp.newTrigger('makeLog')
.forSpreadsheet(ss)
.onChange()
.create();
}
function makeLog() {
MailApp.sendEmail("### Your e-mail address ###", "test mail", "Spreadsheet was edited.");
}
If I misunderstand your question, I'm sorry.
Upvotes: 2