That will only do the current space, whether Model space or the current layout/tab in Paper space. So if you might have both kinds, and you want this to happen in all spaces, you would need to step through and do it in each one -- that can also be automated.
Only thing is, you may need to add another routine to re-position the contents of a "viewport" if the entities on Model space and the viewport itself does move.
I could understand move; all by getting extmin to 0,0 but what does this "none" mean.
It's an object-snap mode, just like ENDpoint or MIDpoint or INTersection. It ensures that if you have running object-snap modes turned on, the Move command will not "find" some nearby location that you do not want it to use, such as an Endpoint or an Intersection, for either the start or end of the displacement. If the routine were made to turn object snap off entirely, those could be omitted. But when you do it that way, it's better to save the OSMODE System Variable value first, then set it to 0, and finally, reset it to the saved value at the end. In a routine such as this that only uses a couple of points to which object snap could possibly be applied, it takes far less code to just leave OSMODE as it is, and turn object snap off for each location.