「shape zorderposition」
という検索キーワードでのアクセスに気づきました。
どのアプリケーションソフトの話かわかりませんけれど、ShapeオブジェクトのZOrderPositionプロパティについて、
調べていた方による検索です。
参考になりそうなExcelマクロを2つご紹介しておきます。
ShapeのZOrderPositionを順番に確認するサンプルマクロ
Shapeの存在するシートがアクティブな状態で、以下のSubプロシージャを実行すると、Shapeが順番に選択され、そのShapeのZOrderPositionがメッセージボックスに表示されます。
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
shp.Select
Application.ScreenUpdating = True
MsgBox shp.ZOrderPosition
Next shp
End Sub
アクティブシート上の全Shapeに対するFor Each~Nextループの中で、
For Each shp In ActiveSheet.Shapes
Shapeを選択して、
shp.Select
Shape.ZOrderPositionをメッセージボックスに表示しています。
MsgBox shp.ZOrderPosition
最近のバージョンのExcelでは、Selectionメソッドで選択した状態が、画面上ですぐに反映されないことがあるため、
shp.Select
の直後に、
Application.ScreenUpdating = True
を入れています。
選択されている図形のZOrderPositionを確認するサンプルマクロ
以下のSubプロシージャを実行すると、選択されている図形のZOrderPositonがメッセージボックスに表示されます。
On Error GoTo ErrHndl
MsgBox Selection.ShapeRange.ZOrderPosition
Exit SubErrHndl:
MsgBox "図形を1つだけ選択してから実行してください。"
End Sub
Excel VBAでは図形等が選択されているときにSelectionプロパティは、隠しオブジェクトであるOvalや、
Rectangleなどを返します。
オブジェクトブラウザーで右クリックして表示されるショートカットメニューで[非表示のメンバーを表示]をOnにすると隠しオブジェクトも確認できます。
OvalオブジェクトやRectangleオブジェクトなどに用意されているShapeRangeプロパティを使って
ShapeRangeオブジェクトを取得して、ShapeRange.ZOrderPositionプロパティを取得しているのが、
オブジェクト式「Selection.ShapeRange.ZOrderPosition」です。
最終更新日時:2022-10-01 14:01
- Newer:Applicationはオブジェクト名では?
- Older:都内大型書店さんでPOPを書かせていただきました
Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » ZOrderPositionを取得する