関数・メソッド

テキストボックスを作成/文字を入力【Shapes.AddTextbox】【TextFrame.Characters】【ExcelVBA】

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

 

注意点

  • テキストを縦書きに設定した場合、ボックスにある程度の高さがないと文字が表示されません。

 

関連記事

コメント