Open a layer's property pages using VBA in ArcMap

Last Published: April 25, 2020


This sample code displays a layer's property sheet using VBA. You can use Step 3 to show all the property pages for a layer, or Step 4 to show just a specific property page.


  1. Get a reference to the first layer in the active map.

    'Get a pointer to the Focus Map
    Dim pDoc As IMxDocument
    Dim pMap As IMap
    Set pDoc = ThisDocument
    Set pMap = pDoc.FocusMap

    'Get a pointer to the first layer
    Dim pLayer As IFeatureLayer
    Set pLayer = pMap.Layer(0)

  2. Add the layer to a new set.

    Dim pSheet As IComPropertySheet
    Set pSheet = New esriCore.ComPropertySheet
    Dim pPset As esriCore.ISet
    Set pPset = New esriCore.Set
    pPset.Add pLayer

  3. Display all the Property pages with the Symbology page active.

    pSheet.ActivePage = 4
    pSheet.EditProperties pPset, 0

  4. Display the Symbology Property Page only.

    Dim page As IPropertyPage
    Set page = New LayerDrawingPropertyPage
    pSheet.AddCategoryID New UID
    pSheet.AddPage page
    pSheet.EditProperties pPset, 0

Article ID:000002685

  • ArcMap 8 x

Receive notifications and find solutions for new or common issues

Get summarized answers and video solutions from our new AI chatbot.

Download the Esri Support App

Discover more on this topic

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options