Home » エクセルマクロ・Excel VBAの使い方 » 図形内文字列 » TextRange2オブジェクトでShapeに文字列を-TextRange2.Text

TextRange2オブジェクトでShapeに文字列を-TextRange2.Text

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

VBAでShapeに文字列を設定する-TextRange2オブジェクト

TextFrameオブジェクトのCharactersオブジェクトを使うと、Excel VBA(Visual Basic for Applications)で図形に文字列を入力できることを記事にしました。

他にもShapeに文字列を設定するオブジェクト式がありますので、ご紹介しておきます。

TextRange2オブジェクトを使ってShapeに文字列を設定するサンプルマクロ

TextRange2オブジェクトを利用しても、Shapeに文字列を設定することができます。

Sub Shapeに文字列を設定する()
 ActiveSheet.Shapes(1).TextFrame2.TextRange.Text = "サンプル文字列"
End Sub

上記のマクロを実行すると、アクティブなシートの1個目のShapeに「サンプル文字列」という文字列が入力されます。

サンプルマクロの解説

ShapeオブジェクトのTextFrame2プロパティで、TextFrame2オブジェクトを取得して、

VBAでShapeに文字列を設定する-TextRange2オブジェクト

TextFrame2オブジェクトのTextRangeプロパティで、TextRange2オブジェクトを取得して、

VBAでShapeに文字列を設定する-TextRange2オブジェクト

TextRange2オブジェクトのTextプロパティに文字列を設定しています。

VBAでShapeに文字列を設定する-TextRange2オブジェクト

TextFrame2.TextRangeプロパティで取得できるのが、TextRange2オブジェクトであるところが、一番のポイントです。

プロパティ名(TextFrame2.TextRange)と、そのプロパティで取得できるオブジェクト名(TextRange2)が、微妙に異なっているのが厄介なところです。

厄介なのですが、TextFrame2オブジェクトの子オブジェクトであるTextRange2のほうが、TextFrameオブジェクトの子オブジェクトであるCharactersよりも、便利なケースが多々あります。

VBAから図形の文字列を操作する自由度を上げたいという方には、オブジェクトブラウザーを何度も調べながら、階層関係の図を自分で手書きしたりして、階層関係を頭に叩き込むことをおすすめしておきます。

最終更新日時:2022-08-04 15:40

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » 図形内文字列 » TextRange2オブジェクトでShapeに文字列を-TextRange2.Text

「図形内文字列」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.