Advertisement
Guest User

Untitled

a guest
Jul 25th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  1. // Prompt for password before allowing edit of formula cells
  2. function onEdit(e) {
  3. var ss = SpreadsheetApp.getActiveSpreadsheet();
  4. var sheet = ss.getActiveSheet();
  5. var cell = sheet.getActiveCell();
  6. var editRange = e.range;
  7. var editCol = editRange.getColumn();
  8.  
  9.  
  10. if (editCol != 4 ) {
  11. var password = "321"; // not actual password
  12. var passwordAttempt = Browser.inputBox('Enter Password to edit protected range, or hit cancel to cancel edit:', Browser.Buttons.OK_CANCEL);
  13.  
  14. if(passwordAttempt == password) {
  15. Browser.msgBox('Edit Accepted');
  16. } else {
  17. if (passwordAttempt != 'cancel'){
  18. Browser.msgBox('Incorrect password. Contact James Atkins for password to edit protected ranges.');
  19. }
  20. if(e.oldValue){
  21. Browser.msgBox('old value is defined as ' + e.oldFormula);
  22. e.range.setValue(e.oldValue);
  23. } else {
  24. e.range.clear();
  25. }
  26. }
  27.  
  28. function onEdit(e) {
  29. var ss = SpreadsheetApp.getActiveSpreadsheet();
  30. var sheet = ss.getActiveSheet();
  31. var cloneSheet = ss.getSheetByName("cloneSheet")
  32. var cell = sheet.getActiveCell();
  33. var editRange = e.range;
  34. var cloneRange = cloneSheet.getRange(editRange.getA1Notation())
  35. var editCol = editRange.getColumn();
  36.  
  37.  
  38. if (editCol != 4 && sheet.getName() != "cloneSheet") {
  39. var password = "321"; // not actual password
  40. var passwordAttempt = Browser.inputBox('Enter Password to edit protected range, or hit cancel to cancel edit:', Browser.Buttons.OK_CANCEL);
  41.  
  42. if(passwordAttempt == password) {
  43. Browser.msgBox('Edit Accepted');
  44. cloneRange.setValue(editRange.getFormula()) //modify the clone to match the new formula.
  45. } else {
  46. if (passwordAttempt != 'cancel'){
  47. Browser.msgBox('Incorrect password. Contact James Atkins for password to edit protected ranges.');
  48. }
  49. if(e.oldValue){
  50. Browser.msgBox('old value is defined as ' + cloneRange.getFormula());
  51. e.range.setValue(cloneRange.getFormula());
  52. } else {
  53. e.range.clear();
  54. }
  55. }
  56. }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement