「excel vba シェイプ上に文字を入力」
という検索で、このサイト・インストラクターのネタ帳へのアクセスが、ありました。
図形(2003以前のオートシェイプ)に、文字列・テキストを入力するVBA(Visual Basic for Applications)のコードを探している方による検索です。
図形にテキスト・文字列を入力するサンプルマクロ
「excel vba シェイプ上に文字を入力」
という検索だけでは詳細がわかりませんので、簡単なサンプルマクロをご紹介しておきます。
ActiveSheet.Shapes(1).TextFrame.Characters.Text = "サンプル文字列"
End Sub
アクティブなシート上に図形が存在しているときに上記のマクロを実行すると、一つ目の図形に「サンプル文字列」というテキストが入力されます。
サンプルマクロの解説
Shaepオブジェクトに用意されているTextFrameプロパティで、文字列枠を表すTextFrameオブジェクトを取得して、
ActiveSheet.Shapes(1).TextFrame.Characters.Text = "サンプル文字列"
TextFrameオブジェクトに用意されているCharactersメソッドで、図形内の文字列範囲を表すCharactersオブジェクトを取得し、
ActiveSheet.Shapes(1).TextFrame.Characters.Text = "サンプル文字列"
Charactersオブジェクトに用意されているTextプロパティで、図形にテキストを入力しています。
ActiveSheet.Shapes(1).TextFrame.Characters.Text = "サンプル文字列"
Characters.TextプロパティではなくCharacters.Insertメソッドでも
CharactersオブジェクトのInsertメソッドを使って、
例えば、
ActiveSheet.Shapes(1).TextFrame.Characters.Insert "サンプル文字列"
といったコードでも図形にテキストを入力することができるのですが、Characters.Textプロパティのほうが汎用性が高いので、Charactes.Textプロパティを私はおすすめしておきます。
最終更新日時:2022-08-04 15:36
Home » エクセルマクロ・Excel VBAの使い方 » 図形内文字列 » VBAで図形にテキスト・文字列を入力する-TextFrame.Characters