Overview of AutoCAD Visual Basic for Applications (VBA) Interface

Microsoft VBA is an object-oriented programming environment designed to provide rich development capabilities similar to those of Visual Basic 6 (VB). The main difference between VBA and VB is that VBA runs in the same process space as AutoCAD, providing an AutoCAD-intelligent and very fast programming environment.

VBA also provides application integration with other VBA-enabled applications. This means that AutoCAD, using other application object libraries, can be an Automation controller for other applications such as Microsoft Word or Excel.

The standalone development editions of Visual Basic 6, which must be purchased separately, complement AutoCAD VBA with additional components, such as an external database engine and report-writing capabilities.

There are four advantages to implementing VBA for AutoCAD:

NoteMicrosoft has not promised to provide 64-bit VBA SDK libraries (.dll). Subsequently, 64-bit AutoCAD can no longer run VBA as an in-proc component; VBA components now run as 32-bit out-of-process COM components, and provides a stopgap arrangement for 64-bit AutoCAD VBA users. This arrangement might require a few changes to existing VBA code. This stopgap provision would be deprecated in future versions of AutoCAD and it is advisable for the users to port their exisiting VBA code to VB. NET.