HOW TO
Note: This article pertains to ArcGIS versions 8.x and 9.x. Later versions of ArcGIS may contain different functionality, as well as different names and locations for menus, commands and geoprocessing tools.
Below is a sample of how to access a Shapefile with the Name objects (IName).
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
The following code shows how to access a Shapefile using the IFeatureClassName interface.
Note: For more information on creating a UIControl, see the ArcGIS Desktop Help topic: 'Creating custom commands with VBA and UI Controls'
''This is how to Use the IWorkspaceName interface to get access to a ShapeFile. ''Users should change the following 2 variables************** ''This is the directory where the ShapeFile lives... Dim StrPathToDataBase As String StrPathToDataBase = "H:\ESRIDATA\MEXICO" ''This is the name of the ShapeFile... Dim StrFeatureClassName As String StrFeatureClassName = "States" ''**************************************************** ''This is the connection information that is used to access the WorkSpace... Dim ppropset As IPropertySet2 Set ppropset = New PropertySet ppropset.SetProperty "DATABASE", StrPathToDataBase Dim pWorkSpaceName2 As IWorkspaceName2 Set pWorkSpaceName2 = New WorkspaceName ''Notice this is a String. The ArcObjects help should have a listing of the ''other types (featureclass, tables, etc etc) pWorkSpaceName2.WorkspaceFactoryProgID = "esriCore.ShapeFileWorkspaceFactory" pWorkSpaceName2.ConnectionProperties = ppropset Dim pname As IName Set pname = pWorkSpaceName2 Dim pFeatureWorkspace As IFeatureWorkspace Set pFeatureWorkspace = pname.Open Dim pfeatureclass As IFeatureClass '''Look at the IFeatureWorkSpace as you can open Tables, DataSets, etc etc... '''Below we use IFeatureWorkSpace::OpenFeatureClass to get a FeatureClass... Set pfeatureclass = pFeatureWorkspace.OpenFeatureClass(StrFeatureClassName) ''Proving you have a featureclass... MsgBox pfeatureclass.FeatureCount(Nothing)
Article ID: 000005891
Get help from ArcGIS experts
Download the Esri Support App