1 行文字を左右および上下に位置合わせすることができます。左寄せが既定です。水平および垂直位置合わせオプションを設定するには、Alignment プロパティを使用します。
次の例は、Text オブジェクトと Point オブジェクトを作成します。Point オブジェクトを文字の位置合わせ点に設定し、見やすくなるよう赤の十字形に変更します。文字の位置合わせを変更し、マクロの実行が中止されるようにメッセージ ボックスを表示します。このようにすることで、文字の位置合わせの変更による影響を確認することができます。
Sub Ch4_TextAlignment() Dim textObj As AcadText Dim textString As String Dim insertionPoint(0 To 2) As Double Dim height As Double ' Define the new Text object textString = "Hello, World." insertionPoint(0) = 3 insertionPoint(1) = 3 insertionPoint(2) = 0 height = 0.5 ' Create the Text object in model space Set textObj = ThisDrawing.ModelSpace.AddText(textString, insertionPoint, height) ' Create a point over the text alignment point, ' so we can better visualize the alignment process Dim pointObj As AcadPoint Dim alignmentPoint(0 To 2) As Double alignmentPoint(0) = 3 alignmentPoint(1) = 3 alignmentPoint(2) = 0 Set pointObj = ThisDrawing.ModelSpace.AddPoint(alignmentPoint) pointObj.Color = acRed ' Set the point style to crosshair ThisDrawing.SetVariable "PDMODE", 2 ' Align the text to the Left textObj.Alignment = acAlignmentLeft ThisDrawing.Regen acActiveViewport MsgBox "The Text object is now aligned left" ' Align the text to the Center textObj.Alignment = acAlignmentCenter ' Align the text to the point (necessary for ' all but left aligned text.) textObj.TextAlignmentPoint = alignmentPoint ThisDrawing.Regen acActiveViewport MsgBox "The Text object is now centered" ' Align the text to the Right textObj.Alignment = acAlignmentRight ThisDrawing.Regen acActiveViewport MsgBox "The Text object is now aligned right" End Sub