Share via


Layers Property [Visio 2003 SDK Documentation]

Returns the Layers collection of an object.

objRet = object**.Layers**

objRet     The Layers collection of the Master or Page object.

object     Required. An expression that returns a Master or Page object.

Version added

4.0

Example

This Microsoft Visual Basic for Applications (VBA) macro shows how to use the Layers property to add shapes to layers. It also uses the Layer property to get a reference to a particular layer, the LayerCount property to determine the number of layers to which a shape is assigned, and the Name property to get the name of the current layer.

Public Sub Layers_Example() 

    Dim vsoPage As Visio.Page 
    Dim vsoShape As Visio.Shape 
    Dim vsoLayer As Visio.Layer 
    Dim vsoLayers As Visio.Layers 

    If ActiveDocument Is Nothing Then
        Documents.Add ("") 
    End If  

    Set vsoPage = ActivePage 
    If vsoPage Is Nothing Then
        Set vsoPage = ActiveDocument.Pages(1) 
    End If  

    'Draw a rectangle. 
    Set vsoShape = vsoPage.DrawRectangle(1, 5, 5, 1)
 
    'Get the Layers collection. 
    Set vsoLayers = vsoPage.Layers 

    'Create a layer named ExampleLayer1 and add the shape to it. 
    Set vsoLayer = vsoLayers.Add("ExampleLayer1") 
    vsoLayer.Add vsoShape, 1 

    'Create a layer named ExampleLayer2 and add the shape to it. 
    Set vsoLayer = vsoLayers.Add("ExampleLayer2") 
    vsoLayer.Add vsoShape, 1 

    'Verify that the shape has been assigned to 2 layers. 
    Debug.Print "The shape is assigned to " & vsoShape.LayerCount & " layers."
 
    'Get a reference to the first layer. 
    Set vsoLayer = vsoShape.Layer(1) 

    'Verify by using the Name property. 
    Debug.Print "Current layer name is """ & vsoLayer.Name & ".""" 

End Sub

Applies to | Master object | Page object

See Also | Layer property | Layers collection | Master object | Page object