HOME > 即効テクニック > Excel VBA > 図形操作関連のテクニック > シートの全てのオートシェイプ、ピクチャなどの描画レイヤのオブジェクト名を取得する

即効テクニック

図形操作関連のテクニック

シートの全てのオートシェイプ、ピクチャなどの描画レイヤのオブジェクト名を取得する

( - )
アクティブになっているシートにあるオートシェイプ、フリーフォーム、OLEオブジェクト、またはピクチャなどの描画レイヤのオブジェクト名をShapeオブジェクトのNameプロパティで取得します。

Sub Sample()
    Dim strObjName() As String
    Dim intObj As Integer
    Dim i As Integer

    'アクティブシートのShapes数をカウント
    intObj = ActiveSheet.Shapes.Count
    '配列を再宣言
    ReDim strObjName(intObj)

    '配列strObjNameにオブジェクト名を代入
    For i = 1 To intObj
        strObjName(i) = ActiveSheet.Shapes(i).Name
    Next i

    '配列strObjNameに代入されたオブジェクト名を表示
    For i = 1 To intObj
        MsgBox strObjName(i)
    Next i

End Sub