 I have a new version of my Translate program and this time the new options, Regix and Filtregix, allow you to take a file, apply a regular expression on it and each time that regular expression matches a string inside the file it will call a Python program and do the translation. So as an example we are going to work on this file, a simple text file with 1, 2, 3, 4 and then m%H41, m%H42, 43, 44 and then again 4, 3, 2, 1. So this here m%H41 is a representation of an extradisimal number 41 and this is what you will find in VBA. So we want to translate this to its character representation and you can do that with Translate. So you call Translate, take option for regular expression and we are going to match the m%H and 2x digits like this. We apply this on the test file like this and now we define a Python function, a lambda function here that takes the object that is matched and match object and here we are just going to return the letter x to start with. So and each representation of 41, 42 here is replaced by a x character. Now we are going to continue, first of all we only want to operate on extradisimal numbers so we select a group like this. And what we want to do, from the match objects that we have we are going to take the groups and take the first element of that groups like this and you can see now that m%H41 is replaced by 41, the other one 42, 43, 44 like this. Now we want to convert this to a character and we can first convert this string to an extradisimal number with the int function with base 64, sorry extradisimal and then the chr function like this. And now you see you get 1234abcd because 41 is uppercase letter a and so on and then 4321. Now the filter rex option that you can initialize that you can take with an uppercase r does exactly the same but the only thing is that rex will only be applied to strings that it matches. All the strings that don't match are filtered out so this time you don't get a complete file you get only where you have matches and those are translated.