I am fairly new to Google script. My knowledge of Java is limited as well (I believe the two are similar). I have a script that moves rows when a checkbox is checked. It also adds some rows and does some other things, please see below for the script. No issues with the script as it is now. What I would like to do is to modify the script so that it stops moving rows when they are checked ( I know how to do that) and to instead move all of the checked rows as a time event. I know I need to add a time trigger and know how to do that however what I do not know is how to tell the script to check what rows are checked. So, basically I would like the script to move all of the checked rows to another sheet, for example at 7 am, and also to add new rows. The number of added rows should be equal to the number of moved rows. If I could get any examples, tips or directions, it would be greatly appreciated.
The script I am using now (found and modified from scripts available online):
function MoveOnCompleted(event) { var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("ToDo"); var s = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("ToDo"); var data = "B3:B" var datarange = s.getRange(data); var r = datarange if(s.getName() == "ToDo" && r.getColumn() == 2 && r.getValues() == 1) { var TimeStamp = r.offset(0,1); var DateTime = new Date(); TimeStamp.setValue(DateTime); var row = r.getRow(); var numColumns = s.getLastColumn(); var targetSheet = ss.getSheetByName("Completed"); var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1); s.getRange(row, 1, 1, numColumns).copyTo(target); s.deleteRow(row); s.insertRowAfter(2300); var tableRange = "A3:G"; var range = s.getRange(tableRange); range.sort([{column: 5, ascending: true}]); }}