このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【VBA】図形のテキストを編集する方法(TextFrame2.TextRange.Text)

2024年5月3日

今回は図形のテキストを編集する方法を紹介します。

図形のテキストは、かなりオブジェクトの深い位置にあるため、どうやって編集すればよいか迷う人も多いかと思います。

この記事ではテキストボックス内の値を編集するプログラムをお見せするので参考にしてみてください。

VBAが難しいと感じたら
ココナラでVBAの開発請負を行っています。
お気軽にご相談ください。

図形のテキストを編集する方法(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に代入すればできます。

図形テキストについての関連記事

VBAが難しいと感じたら
ココナラでVBAの開発請負を行っています。
お気軽にご相談ください。

VBA

Posted by やろまい