I'm seeing what you mean now. The shape is located at L=0 based on NO rotation. In one sense I can see that makes sense but I didn't think it happened when I first tested it.
Just as a fun task something like this should do what you need
Code:
Sub BBox()
Dim oshp As Shape
Dim lngRot As Long
Dim BB_W As Single
Dim BB_L As Single
Dim offset As Long
Dim oshpC(1 To 2) As Single
Const deg2Rad As Single = 3.14159 / 180
Set oshp = ActiveWindow.Selection.ShapeRange(1)
oshpC(1) = oshp.Left + oshp.Width / 2
oshpC(2) = oshp.Top + oshp.Height / 2
lngRot = oshp.Rotation
BB_W = oshp.Height * Abs(Sin(lngRot * deg2Rad)) + oshp.Width * Abs(Cos(lngRot * deg2Rad))
BB_L = oshpC(1) - BB_W / 2
offset = oshp.Left - BB_L
oshp.Left = offset
End Sub