Shapes.AddTextboxメソッド

このようなテキストボックスを作成することができます。
テキストボックスはセルから独立しているため、レイアウトの自由度が高いことが特徴です。
構文
Object.AddTextbox(Orientation, Left, Top, Width, Height)
| Object | Shapesオブジェクト を表す変数です。 |
| Orientation | テキストボックス内の文字の方向を、MsoTextOrientation を使って指定します。 msoTextOrientationHorizontal → 横方向 msoTextOrientationVertical → 縦方向(左から右) msoTextOrientationVerticalFarEast → 縦書き(右から左) |
| Left | 文書の左上隅を基準とし、テキストボックスの左上隅の位置をポイント単位で指定します。 |
| Top | 文書の上端を基準とし、テキストボックスの左上隅の位置をポイント単位で指定します。 |
| Width | テキストボックスの幅をポイント単位で指定します。 |
| Height | テキストボックスの高さをポイント単位で指定します。 |
TextFrame.Charactersメソッド
Textプロパティ を使い、テキストボックスに文字を入力します。
構文
Object.Characters(Start,Length)
| Object | TextFrameオブジェクト を表す変数です。 |
| Start | 何文字目から取得するかを指定します。省略すると、先頭から取得します。 |
| Length | 返す文字数を指定します。省略可。 |
サンプルコード
Public Sub Sample()
Dim shp As Shape
'テキストボックスを作成
Set shp = ActiveSheet.Shapes.AddTextbox( _
Orientation:=msoTextOrientationHorizontal, _
Left:=100, Top:=100, Width:=200, Height:=50)
'文字を入力
shp.TextFrame.Characters.Text = "文字を入力"
End Sub
注意点
- テキストを縦書きに設定した場合、ボックスにある程度の高さがないと文字が表示されません。



コメント