お世話になります。
Excel2016にて、以下のようにBuildFreeFormでオートシェイプを作成し、その内部の中央にテキストを表示するようマクロを作成したのですが、中央揃えになりません。
Dim testShape As shape
With sheet.Shapes.BuildFreeform(msoEditingCorner, 10, 10)
.AddNodes msoSegmentLine, msoEditingCorner, 10, 20
.AddNodes msoSegmentLine, msoEditingCorner, 20, 20
.AddNodes msoSegmentLine, msoEditingCorner, 20, 10
.AddNodes msoSegmentLine, msoEditingCorner, 10, 10
Set testShape = .ConvertToShape
End With
testShape.TextFrame2.HorizontalAnchor = msoAnchorCenter
testShape.TextFrame2.VerticalAnchor = msoAnchorMiddle
testShape.TextFrame2.WordWrap = msoFalse
testShape.TextFrame2.TextRange.Characters.Text = ”HogeHogera"
testShape.TextFrame2.TextRange.Characters.Font.Fill.ForeColor.RGB = RGB(0, 0, 0)
リボンメニューの「図形」からフリーフォームを選択してオートシェイプを作成した場合、正しく中央揃えになります。
2つのオートシェイプのTextAlignプロパティを比較したところどちらの値も正しく設定されていました。
このマクロで作成したオートシェイプはTextAlignのプロパティが正しく設定されているにもかかわらず中央からずれているように見えます。
左がBuildFreeFormで作成したオートシェイプ、右がメニュー「図形」のフリーフォームから作成したものです

なお、業務では4点の頂点座標を取得する必要があるため、RectAngleではなくBuildFreeFormで図形を描く必要があります。
解決方法をおしえていただきたく。
よろしくお願いいたします。