「excel rectangleにテキストを入力したい」
といった検索キーワードで、このサイト『インストラクターのネタ帳』へのアクセスが時折あります。
VBAから、Rectangleオブジェクトに、
テキスト入力・文字列入力する方法を探していらしたのでしょうか。
既にご紹介しているとおり、Shapeオブジェクトの、TextFrameオブジェクトの、Charactersオブジェクトの、Textプロパティを利用するのが、基本です。
ですが、もっとシンプルな裏技的なコードでもいけますので、(一応)ご紹介しておきます。
1つ目のRectangleにテキストを設定するサンプル
以下のSubプロシージャを実行すると、アクティブシートの1つめのRectangleに文字列が設定されます。
ActiveSheet.Rectangles(1).Text = "テキストのサンプル"
End Sub
オブジェクトブラウザーで非表示のメンバーを表示すると、RectanglesコレクションオブジェクトとRectangleオブジェクトが存在していることがわかります。
このRectangleオブジェクトのTextプロパティを使ってテキストを設定しているのが、
上記のコードです。
選択されているRectangleにテキストを設定するサンプル
四角形を選択しておいてから、以下のSubプロシージャを実行すれば、選択されていたRectangleにテキストが設定されます。
Selection.Text = "テキストのサンプル(Selection)"
End Sub
Selectionプロパティは、図形の四角形などが選択されているときに、Rectangleオブジェクトを返します。
Selectionプロパティで返された、Rectangleオブジェクトの、Textプロパティを設定しているのが、上記のコードです。
一般的にはおすすめし辛いレガシーなRectangleオブジェクトを使ったコードではありますが、
Shape
└ TextFrame
└ Characters
という基本を理解している方は、チャレンジしてみてください。
最終更新日時:2021-09-22 15:40
Home » エクセルマクロ・Excel VBAの使い方 » DrawingObjects » Rectangleにテキストを