This document is archived and information here might be outdated.  Recommended version.


Migrating VBA customizations to ArcGIS 10.1 (ArcObjects .NET 10.4 SDK)

Migrating VBA customizations to ArcGIS 10.1


Summary
At ArcGIS 10.1, customizations built using Visual Basic for Applications (VBA) are no longer supported. It is important to migrate customizations currently implemented using VBA to another supported customization environment. Esri does provide a VBA Compatibility setup that installs the VBA runtime and allows developers to still get access to VBA code stored in their map documents. However, this install no longer includes the VBA developer documentation.
This topic outlines how to work with VBA at ArcGIS 10.1, and describes the available options for migrating VBA customizations to the new customization framework.

In this topic


Using VBA at ArcGIS 10.1

VBA is not included in the default installation of ArcGIS for Desktop applications. To use your VBA customizations, you need to run the VBA Compatibility setup. This setup installs the VBA runtime (used in ArcGIS for Desktop applications).  
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.
Starting at ArcGIS 10, desktop developers have two ways of customizing ArcGIS for Desktop. The adoption of Python as the scripting language for ArcGIS 10 provides many opportunities for automating workflows that were only possible in the past by using VBA. If your VBA code uses user interface (UI) components (commands, tools, menus, and so on), the ArcGIS for Desktop add-ins provide an alternative to VBA. ArcGIS for 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 for Desktops add-ins, see Building add-ins for ArcGIS for Desktop.


See Also:

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




Development licensing Deployment licensing
ArcGIS for Desktop Basic ArcGIS for Desktop Basic
ArcGIS for Desktop Standard ArcGIS for Desktop Standard
ArcGIS for Desktop Advanced ArcGIS for Desktop Advanced