HOW TO
Note: This article pertains to ArcGIS versions 8.x. Later versions of ArcGIS may contain different functionality, as well as different names and locations for menus, commands and geoprocessing tools.
Instructions provided describe how to add an Annotation FeatureClass to ArcMap. In this example the annotation resides in a Personal GeoDatabase.
Note: Support for Visual Basic for Applications (VBA) for ArcMap and ArcCatalog ended with the ArcGIS 10.2.2 release, and Esri has not included VBA compatibility setups since version 10.5. See: ArcGIS Desktop and VBA Moving Forward
Note: For more information on creating a UIControl, see the ArcGIS Desktop Help topic 'Creating custom commands with VBA and UI Controls'
Dim strPathName As String strPathName = "D:\temp\yellowstone.mdb" ' Replace with the name of your Personal Geodatabase
Dim strData As String strData = "AnnoRoad" ' Replace with the name of your annotation FeatureClass
' Set up the WorkspaceFactory Dim pWorkspaceName As IWorkspaceName Set pWorkspaceName = New WorkspaceName pWorkspaceName.WorkspaceFactoryProgID = "esricore.AccessWorkspaceFactory" pWorkspaceName.PathName = strPathName Dim pDatasetName As IDatasetName Set pDatasetName = New FeatureClassName pDatasetName.Name = strData Set pDatasetName.WorkspaceName = pWorkspaceName ' Use a lightweight Name object to open the table. Dim pName As IName Set pName = pDatasetName ' QI Dim pTable As ITable Set pTable = pName.Open Dim pFeatClass As IDataset Set pFeatClass = ptable Dim pFeatLay As IFeatureLayer 'IFDOGraphicsLayerFactory::OpenGraphicsLayer IS THE KEY to accessing the data! Dim pFDOGraphicsLayerFactory As IFDOGraphicsLayerFactory Set pFDOGraphicsLayerFactory = New FDOGraphicsLayerFactory '***************************************** ' Modify this line of code Set pFeatLay = pFDOGraphicsLayerFactory.OpenGraphicsLayer(pfeatclass.Workspace, Nothing, "AnnoRoad") '***************************************** 'Assign the name in the Table of Contents pFeatLay.Name = pFeatClass.Name ' Add the annotation to ArcMap Dim pMap As IMap Dim pMxDoc As IMxDocument Set pMxDoc = ThisDocument Set pMap = pMxDoc.ActiveView pMap.AddLayer pFeatLay Dim pAV As IActiveView Set pAV = pMap pAV.Refresh
Article ID:000004181
Get help from ArcGIS experts
Download the Esri Support App