あまり一般的ではありませんが、Microsoft VisioにもVBA(マクロ)機能が搭載されています。
私は、システム構成図やブロック図、Windowsアプリケーションの画面設計を行うのにVisioを愛用しているのですが、オートシェイプや画像を整列するのに、以下のマクロを使用しています。
Public Sub AlignHorizontal()
Application.ActiveWindow.Selection.Align visHorzAlignNone, _
visVertAlignMiddle, False
End Sub
Public Sub AlingVertical()
Application.ActiveWindow.Selection.Align visHorzAlignCenter, _
visVertAlignNone, False
End Sub
ご参考になれば幸いです。