Excel VBA(マクロ)でテキストボックスを作成する方法/AddTextBoxメソッドの使い方

letter IT

テキストボックスは図形の一種で、文字通りテキストを表示させることに特化したオブジェクトです。
テキストボックスを作成すると、同時にShapeオブジェクトを返します。

スポンサーリンク

AddTextBoxメソッド

テキストボックスを作成
Shapesコレクション.AddTextBox(Orientation,Left,Top,Width,Height)
' vba
ActiveSheet.Shapes.AddTextbox(1, 30, 30, 100, 50)
テキストボックスを作成するには、AddTextboxの引数に文字の向き、開始位置横、縦、横幅、縦幅を記述します。
' vba
ActiveSheet.Shapes.AddTextbox(1, 30, 30, 100, 50).Name = "textbox1"
図形を作成する時は何か後ろにもうひとつ命令をつけないといけないので、仮に名前を変更しておくと、
addtextbox1
テキストボックスが作成されます。値はポイント単位です。
単位や位置取りについては、図形の作成の記事参照。文字の向きについては後程説明します。

テキストボックスに文字を入力

' vba
ActiveSheet.Shapes.AddTextbox(1, 30, 30, 100, 50).Name = "textbox1"
ActiveSheet.Shapes("textbox1").TextFrame.Characters.Text = "test"
作成時にテキストボックスに文字も表示するようにしておきます。
addtextbox2
実行結果です。

文字の向き

文字の向き(Orientation)は数字の他にMsoTextOrientation列挙体定数でも指定できます。

addtextbox2
横書きは数字の1またはmsoTextOrientationHorizontalで指定します。以下同様。
addtextbox3
下から上は数字の2またはmsoTextOrientationUpward
addtextbox4
上から下は数字の3またはmsoTextOrientationDownward
addtextbox5
縦書き(アジア言語サポート)は数字の4またはmsoTextOrientationVerticalFarEast
addtextbox6
垂直方向は数字の5またはmsoTextOrientationVertical
addtextbox7
水平方向および回転(アジア言語サポート)は数字の6またはmsoTextOrientationHorizontalRotatedFarEastで指定できます。

関連記事

Excel(エクセル):図形
Excelでは、図形という機能を使うことで四角形や丸、矢印などのオブジェクトをシート状に配置することができます。セルの形状を無視して配置できるので、フローチャートや装飾、注釈などアイデア次第でさまざまな用途に利用できます。 図形作成・操作...
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。
やりたいことから方法を探すエクセル(Excel)操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ

コメント