javascript - How do I automatically set a Google Sheets cell to the current date on editing its row? -
i have google spreadsheet want automatically set value of "date" cell whenever edit row date has not been set. far know google sheets api , how googlescript works, figure should work, never sets debug cell! what doing wrong here?
/** * automatically puts current date in first column of edited row */ function onedit(event){ var sheet = event.source.getactivesheet(); var debugcell = sheet.getcell(10,10); debugcell.setvalue("debug cell"); // if works, should show up... doesn't :c var editedcell = sheet.getactivecell(); var datecol = 0; var datecell = sheet.getcell(editedcell.getrow(), datecol); debugcell.setvalue(editedcell.getcolumn()); if(!datecell.getvalue() && editedcell.getcolumn() != datecol){ datecell.setvalue(new date()); } }
i suppose did not set triggers. in script editor, go resources -> current project's triggers select function name (in case onedit
) , set event
from spreadsheet
-> onedit
save , done.
edited solution
okay there problem in code too. missed earlier.
getcell
function of class range
, not class sheet
. should use getrange
instead. here code should work. can edit per requirements.
function onedit(event){ var sheet = event.source.getactivesheet(); var debugcell = sheet.getrange(10,10); debugcell.setvalue("debug cell"); // if works, should show up... doesn't :c var editedcell = sheet.getactivecell(); var datecol = 1; var datecell = sheet.getrange(editedcell.getrow(), datecol); debugcell.setvalue(editedcell.getcolumn()); if(!datecell.getvalue() && editedcell.getcolumn() != datecol){ datecell.setvalue(new date()); } }
Comments
Post a Comment