関数・メソッド

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

Shapes.AddTextboxメソッド

このようなテキストボックスを作成することができます。
テキストボックスはセルから独立しているため、レイアウトの自由度が高いことが特徴です。

構文
Object.AddTextbox(Orientation, Left, Top, Width, Height)

ObjectShapesオブジェクト を表す変数です。
Orientationテキストボックス内の文字の方向を、MsoTextOrientation を使って指定します。
msoTextOrientationHorizontal → 方向
msoTextOrientationVertical → 方向(左から右)
msoTextOrientationVerticalFarEast → 書き(右から左)
Left文書の左上隅を基準とし、テキストボックスの左上隅の位置をポイント単位で指定します。
Top文書の上端を基準とし、テキストボックスの左上隅の位置をポイント単位で指定します。
Widthテキストボックスの幅をポイント単位で指定します。
Heightテキストボックスの高さをポイント単位で指定します。

 

TextFrame.Charactersメソッド

Textプロパティ を使い、テキストボックスに文字を入力します。

構文
Object.Characters(Start,Length)

ObjectTextFrameオブジェクト を表す変数です。
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

 

注意点

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

 

関連記事

コメント

タイトルとURLをコピーしました