Z-Order

Every Shape object has an order, called its z-order, that indicates the object’s relative position with respect to an imaginary z-axis that comes directly out of the monitor at right angles towards the user, as pictured in Figure B-1.

The read-only ZOrderPosition property of a Shape object reports the current z-order of the object, which, incidentally, is the same as the object’s index within the Shapes collection. Shape objects with a larger z-order appear on top of objects with a smaller z-order. Hence, the Shape object with z-order equal to 1 is Shapes(1) and lies at the bottom of the pile!

An illustration of z-order

Figure B-1. An illustration of z-order

The ZOrder method sets the z-order of a Shape object relative to other objects. Note that the method does not set the absolute z-order. The syntax is:

ShapeObject.ZOrder(ZOrderCmd)

where ZOrderCmd is one of the constants in the following enum (from the Microsoft Office object model):

	Enum MsoZOrderCmd
	   msoBringToFront = 0
	   msoSendToBack = 1
	   msoBringForward = 2
	   msoSendBackward = 3
	   msoBringInFrontOfText = 4
	   msoSendBehindText = 5
	End Enum

Thus, the z-order can be set only in the following ways:

  • Move the object to the front of the z-order.

  • Move the object to the back of the z-order.

  • Move the object one forward in the z-order; that is, increase its index by 1.

  • Move the object one backward in the z-order; that is, decrease its index by 1.

The ZOrder method permits ...

Get Writing Word Macros, Second Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.