what about using eventdblclk
eventdbleclk = setf(getref(pinx),thepage!width*0.5) + setf(getref(piny),thepage!height*0.5)
user double clicks the shape ==> it moves shape to center of the page
From there, the user can move the shape at will.
Later, double clk again and shapre returns to center of page
Can also do this in the eventdrop cell so that if you pull shape from stencil on to page, it will land at center of the page
(not sure what happens if you copy the shape since that may be a "drop" and thus at center of page vs offset, etc)
I would model this up to see if visio automation is ok with this (see my GUARD post earlier today)
(if you use GUARD, this is still feasible but the user can NOT move the shape around).
One other option that is much more complicated is to use the setatref constructs in either the eventdblclk or eventdrop cells
(definitely need to study this and model it up before just using it...it can be a very complex formula and all ramifications need to be tested).