To Edgetech America's GIS Training Home Page

Introduction to Programming ArcObjects with VBA:
Course Description




This course teaches the fundamentals of VBA application development (Visual Basic for Applications), OOP concepts (Object-Oriented Programming), and the specifics of working with ArcObjects. Participants learn to use the VBA development tools including VB editor, customize dialog box, and online help resources. They also learn the syntax for writing simple VB statements, how to write branching and looping structures, and how to design user forms.

OOP concepts are described, including the advantages of the Component Object Model (COM). All ArcObjects classes are COM-based. Interface programming is covered in detail. It is at the core of programming with the ArcObjects library, yet it may be new even to seasoned programmers such as Avenue programmers

ArcView, ArcEditor, and ArcInfo share the same architecture, and the knowledge gained in this course applies to all three.

Class time is mostly spent doing hands-on programming exercises, where students write code that exposes them to many ArcGIS programming tasks as well as to the most commonly used ArcObjects classes. On the last afternoon of the course, participants will have time to work on more advanced programming exercises or to explore ArcObjects on their own. Upon finishing the course, students will have plenty of sample code from which they can build their own applications.


This course is for those who work with ArcMap and ArcCatalog on a technical level (analysts, programmers, and project managers) but may be new to programming with VBA. It is ideal for users who want to increase productivity by extending ArcGIS applications and for developers who want to create custom applications using VBA.


  • Customize the Graphical User Interface (GUI)

  • Learn VBA fundamentals

  • Learn OOP concepts

  • Get help for writing code

  • Navigate the ArcObjects Object Model Diagram (OMD)

  • Program with ArcMap objects

  • Program with ArcCatalog objects

  • Program with geodata, display, and geometry objects


  • VBA development environment: Customizing the user interface. Writing and debugging code

  • VB language fundamentals: VB syntax; Code storage; VB functions; Branching and looping; Creating user forms

  • OOP concepts: Objects and classes; Class libraries; Methods; Properties and events

  • COM: Advantages of COM; Defining a COM class; Interface programming

  • Reading OMDs: Class relationships; Class types; Using diagrams to write code

  • Maps and layers: Accessing maps and layers; Adding a layer to ArcMap; Classifying and symbolizing layers

  • Customizing ArcCatalog: Manipulating files in the catalog; Defining file types to be displayed

  • Working with data: Accessing datasets on disk; Creating new data; Editing data; Applying a domain to a geodatabase field

  • Geometry: Creating various types of geometry; Displaying geometry; Storing geometry; Spatial operations

  • Spatial and attribute selections: Accessing a user selection; Defining an attribute or spatial query; Processing a subset of records

  • Layouts: Programmatically formatting a map layout; Adding elements; Defining symbols and colors for map elements; Accessing items from the ArcMap style gallery

  • Creating tools: Getting user input; Transforming mouse input to map units; Working with the display

  • Programming ArcObjects events: Outbound versus inbound interfaces; Finding events on the OMDs; Accessing an object's outbound interface


Registrants should have taken Introduction to ArcGIS I or Migrating to ArcView 8, or have an equivalent knowledge. Attendees should be familiar with ArcMap and ArcCatalog. Those without object-oriented programming knowledge are encouraged to study an introductory Visual Basic or object-oriented programming concepts text before attending. 


This course is only offered to groups of three or more trainees. Please contact us to schedule a class at your location or a nearby facility.

| Contact Us | Home | Consulting | Programming | Training | Analysis | Software | Data |
| Jobs | News | Maps |

This Internet site: or
Copyright 1997-2015. Edgetech America, Inc.

Last updated: April 15, 2015