Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » ZOrderPositionを取得する

対象:Excel 2010, Excel 2013, Windows版Excel 2016

「shape zorderposition」
という検索キーワードでのアクセスに気づきました。

どのアプリケーションソフトの話かわかりませんけれど、ShapeオブジェクトのZOrderPositionプロパティについて、

調べていた方による検索です。

[スポンサードリンク]

参考になりそうなExcelマクロを2つご紹介しておきます。

アクティブシート上のShapeのZOrderPositionを確認するサンプルマクロ

Shapeの存在するシートがアクティブな状態で、以下のSubプロシージャを実行すると、Shapeが順番に選択され、そのShapeのZOrderPositionがメッセージボックスに表示されます。


Sub 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がメッセージボックスに表示されます。


Sub 選択図形のZOrderPosition()
 On Error GoTo ErrHndl
 MsgBox Selection.ShapeRange.ZOrderPosition
 Exit Sub

ErrHndl:
 MsgBox "図形を1つだけ選択してから実行してください。"
End Sub

Excel VBAでは図形等が選択されているときにSelectionプロパティは、隠しオブジェクトであるOvalや、

Rectangleなどを返します。

オブジェクトブラウザーで右クリックして表示されるショートカットメニューで[非表示のメンバーを表示]をOnにすると隠しオブジェクトも確認できます。

OvalオブジェクトやRectangleオブジェクトなどに用意されているShapeRangeプロパティを使って

ShapeRangeオブジェクトを取得して、ShapeRange.ZOrderPositionプロパティを取得しているのが、

オブジェクト式「Selection.ShapeRange.ZOrderPosition」です。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » ZOrderPositionを取得する

TrackBack:0

TrackBack URL
[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » ZOrderPositionを取得する

「Shapeオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.