「excel マクロ 選択した図形のcharacters.textを取得」
という検索キーワードによるアクセスに気づきました。
選択されている図形のテキストを取得するサンプルマクロ
以下のSubプロシージャを実行すると、選択されている図形に入力されているテキスト(文字列)が、イミディエイトウィンドウに出力されます。
On Error GoTo ErrHndl
Dim shp As Shape
For Each shp In Selection.ShapeRange
Debug.Print shp.TextFrame.Characters.Text
Next
ErrHndl:
MsgBox "図形が選択されていません。"
End Sub
サンプルマクロで利用しているオブジェクト式について
「excel マクロ 選択した図形のcharacters.textを取得」
と検索なさった方は、図形に入力されているテキストを、CharactersオブジェクトのTextプロパティで
取得できることまではご存知なはずです。
そのCharactersオブジェクトを取得するために、ShapeオブジェクトのTextFrameプロパティでTextFrameオブジェクトを取得して、
TextFrameオブジェクトのCharactersメソッドを利用しているのが、
For Each~Nextループ内の「shp.TextFrame.Characters」というオブジェクト式です。
このサンプルでは、図形が選択されていない状態のみを入れていますが、他にも実行時エラーは発生するケースはあるはずですから、適宜エラー処理を追加してください。
最終更新日時:2021-12-22 12:11
- Newer:Cellsオブジェクトは存在しない
- Older:Excel VBAでPowerPointのスライド枚数を取得する
Home » エクセルマクロ・Excel VBAの使い方 » DrawingObjects » 選択図形のテキストをVBAで取得する