Migrating VBA customizations to ArcGIS 10

Summary ArcGIS 10 is the last release to include Visual Basic for Applications (VBA), so it is important to migrate customizations currently implemented using VBA to another supported customization environment. VBA no longer provides the optimum toolset for customizing ArcGIS Desktop.

This topic outlines how to work with VBA at ArcGIS 10, and describes the available options for migrating VBA customizations to the new customization framework.

In this topic

Using VBA at ArcGIS 10

VBA is not included in the default installation of ArcGIS Desktop applications. To use your VBA customizations, you need to run the VBA setup. This setup installs the VBA runtime (used in ArcGIS Desktop applications) and the VBA developer Help system.
In addition to installing the software components, you need to enable the VBA license feature to use VBA as a developer or an end user. You cannot use the VBA developer environment or VBA code in existing documents without the VBA license feature. If you open a document that contains VBA code, and you do not have the feature fully installed, the following warning message appears:
The VBA code editor and integrated development environment (IDE) menu options only appear on the Customize dialog box if the VBA feature is properly installed and configured.
VBA authorization numbers are not included with the VBA install, nor included automatically with their other authorization numbers. Obtain a VBA authorization number by contacting your Customer Service representative directly, via e-mail. 

Migrating VBA code

While VBA offers a convenient entry point for customizations, it does not provide a solution for many scenarios, and adds complexity to the sharing and deployment of functionality. Many tasks undertaken by VBA developers involve a lot of work with fine grained ArcObjects.
At ArcGIS 10, desktop developers have two new ways of customizing ArcGIS Desktop. The adoption of Python as the scripting language for ArcGIS 10 provides many opportunities for automating workflows. If your VBA code uses user interface (UI) components (commands, tools, menus, and so on), the new ArcGIS Desktop add-ins provide a better alternative to VBA. ArcGIS Desktop add-ins are straightforward to develop using Visual Studio tools and easy to deploy since they do not require full administrator rights to install.
For more information on ArcGIS Desktops add-ins, see Building add-ins for ArcGIS Desktop.

See Also:

How to migrate ArcGIS 9.3 Desktop and Engine stand-alone applications to ArcGIS 10
Migrating ArcGIS 9.3 Desktop and Engine custom components to ArcGIS 10
Building add-ins for ArcGIS Desktop

Development licensing Deployment licensing
ArcView ArcView
ArcEditor ArcEditor
ArcInfo ArcInfo