Advertisement
Guest User

Google Sheets Script

a guest
Jun 28th, 2021
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function runReplaceInSheet(){
  2.   var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("DnDMacro");
  3.   //  get the current data range values as an array
  4.   //  Fewer calls to access the sheet -> lower overhead
  5.   var values = sheet.getDataRange().getValues();  
  6.  
  7.   // Replace Subject Names
  8. replaceInSheet(values,"; +","; [[1d20+")
  9. replaceInSheet(values," + ","+")
  10. replaceInSheet(values,"Hit: "," Hit: [[ ")
  11. replaceInSheet(values," vs. "," ]] vs. ")
  12. replaceInSheet(values,"0 damage","0]] damage")
  13. replaceInSheet(values,"1 damage","1]] damage")
  14. replaceInSheet(values,"2 damage","2]] damage")
  15. replaceInSheet(values,"3 damage","3]] damage")
  16. replaceInSheet(values,"4 damage","4]] damage")
  17. replaceInSheet(values,"5 damage","5]] damage")
  18. replaceInSheet(values,"6 damage","6]] damage")
  19. replaceInSheet(values,"7 damage","7]] damage")
  20. replaceInSheet(values,"8 damage","8]] damage")
  21. replaceInSheet(values,"9 damage","9]] damage")
  22. replaceInSheet(values," fire damage","]] fire damage")
  23. replaceInSheet(values," psychic damage","]] psychic damage")
  24. replaceInSheet(values," acid damage","]] acid damage")
  25. replaceInSheet(values," cold damage","]] cold damage")
  26. replaceInSheet(values," force damage","]] force damage")
  27. replaceInSheet(values," lightning damage","]] lightning damage")
  28. replaceInSheet(values," necrotic damage","]] necrotic damage")
  29. replaceInSheet(values," poison damage","]] poison damage")
  30. replaceInSheet(values," psychic damage","]] psychic damage")
  31. replaceInSheet(values," radiant damage","]] radiant damage")
  32. replaceInSheet(values," thunder damage","]] thunder damage")
  33. replaceInSheet(values,"Initiative ","")
  34. replaceInSheet(values,"]]]] +","]]")
  35. replaceInSheet(values,"[[[[","[[")
  36. replaceInSheet(values,"]] ]] +","]]")
  37. replaceInSheet(values,"[[ [[","[[")
  38. replaceInSheet(values,"]]]] +","]]")
  39. replaceInSheet(values,"[[[[","[[")
  40. replaceInSheet(values,"]] ]] +","]]")
  41. replaceInSheet(values,"[[ [[","[[")
  42.  
  43.  
  44.   // Write all updated values to the sheet, at once
  45.   sheet.getDataRange().setValues(values);
  46. }
  47.  
  48. function replaceInSheet(values, to_replace, replace_with) {
  49.   //loop over the rows in the array
  50.   for(var row in values){
  51.     //use Array.map to execute a replace call on each of the cells in the row.
  52.     var replaced_values = values[row].map(function(original_value) {
  53.       return original_value.toString().replace(to_replace,replace_with);
  54.     });
  55.  
  56.     //replace the original row values with the replaced values
  57.     values[row] = replaced_values;
  58.   }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement