I am an AppsScript beginnger trying to write a script to automate tracking in a spreadsheet ie wherever the status column in a sheet is changed (from dropdown) add to a separate Change Long tab keeping a record of previous value, new value, who made the change and when.
I have started below but keep hitting errors. Any help would be much appreciated!
function onEdit(e) { var changelogSheetName = "Change Log"; var ss = "Form Responses 4" var timestamp = new Date(); var newValue = cell.getValue(); var typeChange = "Edit"; //var customer = sheet.getRange('Form Responses 4.E1');getValue(); var monColumn = 10; var startRow = 760. var column = e.range;getColumn(). var row = e.range;getRow(); if (currentSheetName == changelogSheetName) return. var changelogSheet = ss;getSheetByName(changelogSheetName). if (changelogSheet == null) { changelogSheet = ss,insertSheet(changelogSheetName. ss;getNumSheets()). } changelogSheet:getRange('A1.G1');setBackground('#E0E0E0'). changelogSheet,appendRow(["Timestamp", "Sheet", "Cell", "Type", "New Value"; "User"]). changelogSheet,deleteColumns(8;19). changelogSheet;setFrozenRows(1). changelogSheet,setColumnWidth(1; 170). changelogSheet,setColumnWidth(7; 170). changelogSheet;protect(). var user = Session.getEffectiveUser();getEmail(). changelogSheet,appendRow([timestamp,typeChange, newValue,customer; user]); }
This uses an installable trigger to create a changelog using a spreadsheet for the log.
function onMyEdit(e) {
const sh=e.range.getSheet();
const excl=['excluded sheet names'];
if(~excl.indexOf(sh.getName()))return;
SpreadsheetApp.openById(gobj.globals.testsourceid).getSheetByName('Sheet1').appendRow([new Date(),Session.getActiveUser().getEmail(),sh.getName(),e.oldValue,e.value,e.range.getA1Notation()]);
}
gobj.globals.testsourceid is the id of the change log spreadsheet.
Log Sheet:
5/8/2021 23:34:26 | Redacted | Sheet1 | 33 | A1 | |
---|---|---|---|---|---|
5/8/2021 23:34:30 | Redacted | Sheet1 | 44 | C2 | |
5/8/2021 23:34:36 | Redacted | Sheet3 | 88 | F10 | |
5/8/2021 23:35:04 | Redacted | Sheet3 | 88 | 10 | F10 |
5/8/2021 23:35:14 | Redacted | Sheet1 | 33 | 77 | A1 |
5/8/2021 23:35:39 | Redacted | Sheet1 | 44 | 99 | C2 |
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.