Autodesk Developer Network

Microsoft Visual Basic for Applications Module FAQ

Where can I get VBA?

VBA is no longer distributed with the AutoCAD installation; it must be downloaded and installed separately. The VBA Enabler for Autodesk AutoCAD can be downloaded here.

Is this one VBA module all I need?

Yes, the VBA Enabler can be used with recent Autodesk AutoCAD and Autodesk AutoCAD-based products (AutoCAD Architecture, AutoCAD Mechanical, and AutoCAD Map 3D).

What version of VBA does AutoCAD support?

As of January 31, 2014, Autodesk is no longer authorized to distribute VBA 6 or earlier versions of VBA for use with Autodesk AutoCAD and other Autodesk products. This change affects the availability to download and install VBA for Autodesk AutoCAD 2013 or earlier. VBA still remains available for Autodesk AutoCAD 2014 and Autodesk AutoCAD 2014-based products, and later because those products support VBA 7.1. If you need VBA, you will need to upgrade to the latest release or migrate your custom programs to AutoLISP, ObjectARX, or Managed .NET (VB.NET or C#). 

What languages are supported by VBA?

A global, English installer can be installed on all language versions of Autodesk AutoCAD and Autodesk AutoCAD-based products. The VBA module will install the correct language resources on the target platform.

How can enterprise users deploy VBA?

The VBA Enabler can be installed using the stand-alone installer or deployed using a script. The deployment script can be downloaded from the product support page.

What is Visual Basic Express?

Visual Basic Express is a free streamlined version of Microsoft’s Visual Studio specifically designed for VB .NET application development. Visual Basic Express enables you to use the same underlying Autodesk COM APIs as VBA did, as well as the more powerful .NET API. Use of Visual Basic Express will require modifications to your existing VBA code because there are significant language and code structure differences between VBA and Visual Basic Express’ VB .NET.

I need to migrate from VBA to .NET – can you help?

Autodesk provides documentation, on-line training materials, and support to help you migrate your VBA applications to the .NET Framework. In addition, Autodesk has recruited a number of members of the Autodesk Developer Network to deliver customers fee-based porting of their VBA applications to .NET.

In addition to the resources listed above, ADN partners can request migration assistance through our ADN extranet portal and subscription customers can ask migration questions via subscription support. In addition, you are welcome to post and answer questions on the VB Autodesk Discussion forum.

Can I use other .NET languages such as C#?

Yes. You can use any .NET language to use the AutoCAD .NET API, or to access the AutoCAD ActiveX API. However, if you are migrating your VBA code then you are likely to find VB.NET the easiest language to move to.

Can I use the VBA Automation in Microsoft Office applications such as Excel to access AutoCAD objects?

Yes. The AutoCAD ActiveX API required for this will work without the VBA module installed. Accessing AutoCAD objects through COM and .NET APIs will continue to work.

DevTV: AutoCAD VBA to VB.NET Migration Basics

To assist in migrating your AutoCAD VBA code to VB.NET, the Autodesk Developer Network team has created a simple migration assistance utility and accompanying video:

English: view | download (44.7 MB)

Chinese: view | download (88.9 MB)

French: view | download (39 MB)

German: view | download (42.4 MB)

Japanese: download (70.3 MB)

Portuguese: view | download (80.3 MB)

Russian: view | download (39.3 MB)

Spanish: view | download (52.9 MB)

The latest version of the migration assistance utility can be downloaded from here, or visit our listing of VBA porting service providers if you would like professional assistance with porting your VBA macros.