Migrating from VBA


Summary ArcGIS 10 is the last release to support development with Visual Basic for Applications (VBA), so it is important to migrate any existing VBA customizations to a supported environment.

This topic describes the available options for migrating VBA customizations to new frameworks offered at ArcGIS 10.

New alternatives to VBA at 10

While VBA did offer a convenient entry point for customizations, it did 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—enhanced Python scripting and add-ins.
The adoption of Python as the scripting language for ArcGIS 10 provides many opportunities for automating your workflows. For more information on how the ArcGIS Python implementation can replace your VBA scripts, see A Quick Tour of Python.
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 Customizing ArcGIS Desktop using add-ins.
Moving to VB.NET
If your VBA workflow cannot be replaced by a Python script or rewritten as an ArcGIS Desktop add-in, converting it to a language that will continue to be supported after the 10 release will be necessary. Some guidelines for performing this type of conversion are available online. See the topics in the Migrating VB to VB.NET section of the ArcObjects SDK for Microsoft .NET Framework.






Development licensing Deployment licensing
ArcView ArcView
ArcEditor ArcEditor
ArcInfo ArcInfo