「wordvba 図形 テキスト」
といった検索が、このサイト『インストラクターのネタ帳』で行われていました。
Word VBAで、Word文書上にある図形のテキスト(文字列)を操作するには、どのようなコードを書けばいいのかを調べていらしたのでしょう。
図形のテキストを取得するサンプルマクロ
新規のWord文書に、四角形などの図形を浮動オブジェクトとして挿入し、何らかの文字列を入力しておいてから以下のWordマクロを実行してください。
Dim shp As Shape
Set shp = ActiveDocument.Shapes(1)
Dim txt As String
txt = shp.TextFrame.TextRange.Text
End Sub
サンプルマクロで行っている処理
図形を表すShapeを取得
ActiveDocumentプロパティで取得したDocumentオブジェクトのShapesプロパティを使って、Word文書内の全図形を表すShapesコレクションを取得して、
Shapesコレクションの既定メンバーであるItemメソッドで取得したShapeオブジェクトを
変数shpに代入しています。
Dim shp As Shape Set shp = ActiveDocument.Shapes(1)
図形内テキストの取得
その後、Shape.TextFrameプロパティで取得したTextFrameオブジェクトに用意されているTextRangeプロパティを使って、
WordのRangeオブジェクトを取得し、Range.Textプロパティで図形内のテキスト(文字列)を取得しています。
Dim txt As String txt = shp.TextFrame.TextRange.Text
末尾の段落記号の削除
この状態は、末尾に段落記号が含まれているため、VBAのLeft関数とLen関数を使って最後の1文字を削除してメッセージボックスに表示しています。
MsgBox Left(txt, Len(txt) - 1)
- Newer:Excel VBAで線の矢印を消すには
- Older:新規ワークシートのWorksheet.UsedRangeの戻り値
Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » Word VBAで図形のテキストを取得する基本