I guess you have a probe correct. He is setting tool with a 123 right?
Sure, but it's the same sorta deal...
1- Set up the macro by touching the spindle nose face off of the 123 block (or whatever) and write the machine coordinates down. Use that number in the macro as the offset value.
2- Set the macro up to pull the current machine coordinates whenever it is fired off, subtract that offset number from step 1, and write the new value to the tool offset table for the tool currently in the spindle. Saave this macro to the appropriate 9000 series program and set the params so it can be called with an M or G code.
3- To run it, you would call up the tool you want to set, hand jog it over the 123 block until it touches off the way you want, go to MDI, type G106 (or whatever G-code you set up), and the tool offset is automatically written to the table. Done.
Most of the code is very similar to how an auto tool setter works as far as pulling things like machine coordinates, basic math, and writing to the tool table. The only thing really missing is all the skip signal trickery to automate the actual tool touch off.
It's actually a pretty solid little macro to start learning macro programming, especially because it doesn't involve any risky machine movement trickery that might cause a disaster as you're learning.