Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function runReplaceInSheet(){
- var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("DnDMacro");
- // get the current data range values as an array
- // Fewer calls to access the sheet -> lower overhead
- var values = sheet.getDataRange().getValues();
- // Replace Subject Names
- replaceInSheet(values,"; +","; [[1d20+")
- replaceInSheet(values," + ","+")
- replaceInSheet(values,"Hit: "," Hit: [[ ")
- replaceInSheet(values," vs. "," ]] vs. ")
- replaceInSheet(values,"0 damage","0]] damage")
- replaceInSheet(values,"1 damage","1]] damage")
- replaceInSheet(values,"2 damage","2]] damage")
- replaceInSheet(values,"3 damage","3]] damage")
- replaceInSheet(values,"4 damage","4]] damage")
- replaceInSheet(values,"5 damage","5]] damage")
- replaceInSheet(values,"6 damage","6]] damage")
- replaceInSheet(values,"7 damage","7]] damage")
- replaceInSheet(values,"8 damage","8]] damage")
- replaceInSheet(values,"9 damage","9]] damage")
- replaceInSheet(values," fire damage","]] fire damage")
- replaceInSheet(values," psychic damage","]] psychic damage")
- replaceInSheet(values," acid damage","]] acid damage")
- replaceInSheet(values," cold damage","]] cold damage")
- replaceInSheet(values," force damage","]] force damage")
- replaceInSheet(values," lightning damage","]] lightning damage")
- replaceInSheet(values," necrotic damage","]] necrotic damage")
- replaceInSheet(values," poison damage","]] poison damage")
- replaceInSheet(values," psychic damage","]] psychic damage")
- replaceInSheet(values," radiant damage","]] radiant damage")
- replaceInSheet(values," thunder damage","]] thunder damage")
- replaceInSheet(values,"Initiative ","")
- replaceInSheet(values,"]]]] +","]]")
- replaceInSheet(values,"[[[[","[[")
- replaceInSheet(values,"]] ]] +","]]")
- replaceInSheet(values,"[[ [[","[[")
- replaceInSheet(values,"]]]] +","]]")
- replaceInSheet(values,"[[[[","[[")
- replaceInSheet(values,"]] ]] +","]]")
- replaceInSheet(values,"[[ [[","[[")
- // Write all updated values to the sheet, at once
- sheet.getDataRange().setValues(values);
- }
- function replaceInSheet(values, to_replace, replace_with) {
- //loop over the rows in the array
- for(var row in values){
- //use Array.map to execute a replace call on each of the cells in the row.
- var replaced_values = values[row].map(function(original_value) {
- return original_value.toString().replace(to_replace,replace_with);
- });
- //replace the original row values with the replaced values
- values[row] = replaced_values;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement