【VBA】図形のテキストを編集する方法(TextFrame2.TextRange.Text)
今回は図形のテキストを編集する方法を紹介します。
図形のテキストは、かなりオブジェクトの深い位置にあるため、どうやって編集すればよいか迷う人も多いかと思います。
この記事ではテキストボックス内の値を編集するプログラムをお見せするので参考にしてみてください。
図形のテキストを編集する方法(TextFrame2.TextRange.Text)
Sub EditShapeText()
Dim shp As Shape
Dim ws As Worksheet
' アクティブなシートを使用する
Set ws = ActiveSheet
' 図形を取得する(1つ目の図形)
Set shp = ws.Shapes(1)
' 図形のテキストを表示する
MsgBox shp.TextFrame2.TextRange.Text
' 図形のテキストを編集する
shp.TextFrame2.TextRange.Text = "新しいテキスト"
End Sub
このプログラムを実行すると、図形のテキストをメッセージボックスで表示した後に編集します。
上の画像のように、図形のテキストが変更されます。
' 図形を取得する(1つ目の図形)
Set shp = ws.Shapes(1)
簡単に説明すると、まずこの部分でShapeオブジェクトを取得しています。
' 図形のテキストを表示する
MsgBox shp.TextFrame2.TextRange.Text
そして、この部分でShapeオブジェクト内のテキストを取得しています。
Shapeオブジェクトのテキストはかなり深い場所にあり、
TextFrame2⇒TextRange⇒Text
と3段階で取得します。
とはいえ、特に覚える必要はないのでコピペして使ってみてください。
テキストの編集もshp.TextFrame2.TextRange.Textに代入すればできます。