Use ISpatialReferenceFactory::CreatePredefinedDatums


This code sample shows how to make a list of all the predefined datums available in ArcGIS using Visual Basic for Applications and ArcObjects.


  1. Open ArcMap.
  2. Open the Visual Basic Editor.

    In ArcMap, select Tools > Macros > Visual Basic Editor.

  3. In the Project Explorer window, expand Project.mxt and select ArcMap Objects > ThisDocument, then right-click and select View Code.
    [O-Image] Visual Basic Project  Explorer

    Code in the project's ThisDocument code module will only run in the current map document. If you want to store the code in all your map documents, open the Normal.mxt ThisDocument code module instead.

  4. Paste the following code into the code module:

    Sub ListDatums()
    Dim pSRFactory As ISpatialReferenceFactory
    Set pSRFactory = New SpatialReferenceEnvironment
    Dim pDatumList As ISet
    Set pDatumList = pSRFactory.CreatePredefinedDatums

    'Get a list of the predefined datums.
    Dim pDatum As IDatum
    Set pDatum = pDatumList.Next
    Do Until pDatum Is Nothing
    Debug.Print pDatum.Name
    Debug.Print pDatum.FactoryCode
    Set pDatum = pDatumList.Next

    End Sub

  5. Close the Visual Basic Editor.
  6. Run the code.

    A. Click Tools > Macros > Macros to display the Macros dialog box.
    B. Select a macro and click Run.

Article ID:000004945

  • ArcMap 9 x
  • ArcMap 8 x

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options

Discover more on this topic