El software Microsoft® Visual Basic® for Applications (VBA) ofrece integración de las aplicaciones con otras aplicaciones que admiten VBA.
Los productos basados en AutoCAD se pueden utilizar como controlador de Automation para otras aplicaciones como Microsoft Word o Excel.
Nota: VBA ya no se instala por defecto. Para obtener más información, visite https://www.autodesk.com/vba-download.
VBA envía mensajes mediante la interfaz de ActiveX Automation de AutoCAD. VBA de AutoCAD permite ejecutar el entorno de Visual Basic con AutoCAD y proporciona el control programático de AutoCAD a través de la interfaz de ActiveX Automation. Esta asociación de AutoCAD, ActiveX Automation y VBA proporciona una interfaz de gran eficacia. No solo controla los objetos de AutoCAD, sino que también puede enviar datos a otras aplicaciones o recuperar datos de estas.
Antes de que pueda editar o ejecutar una macro en un proyecto de VBA, esta debe cargarse primero en AutoCAD. Los proyectos de VBA se almacenan en archivos independientes con la extensión .dvb, y se componen de módulos de clase y código, además de formularios. Dado que los proyectos de VBA se guardan en un archivo independiente, un proyecto de VBA puede abrir y cerrar diferentes dibujos de AutoCAD durante una sesión, lo que no se puede realizar con AutoLISP.
Nota: Los proyectos de VBA no ofrecen compatibilidad binaria con los archivos de proyectos de Visual Basic (VBPROJ) creados con Visual Studio.
Elementos fundamentales de VBA de AutoCAD
La programación con VBA viene definida por tres elementos esenciales.
- AutoCAD: ofrece un extenso conjunto de objetos, entre los que se incluyen entidades, datos y comandos de AutoCAD. La capacidad de programación de AutoCAD es muy conveniente. Descubrirá, no obstante, que el sistema basado en objetos de VBA difiere bastante del de AutoLISP.
- Interfaz de ActiveX Automation de AutoCAD: intercambia mensajes (establece comunicación) con los objetos de AutoCAD. La programación en VBA requiere comprender los fundamentos de ActiveX Automation.
- VBA: incluye su propio conjunto de objetos, palabras clave y constantes, que proporcionan el flujo de programación y funciones de control, limpieza y ejecución. VBA de AutoCAD incluye un sistema de ayuda exhaustivo de Microsoft para VBA.
Ventajas del uso de VBA
La interfaz de ActiveX/VBA de AutoCAD proporciona varias ventajas en relación con otros entornos API de AutoCAD:
-
Velocidad. Cuando se realiza una ejecución en proceso con VBA, las aplicaciones de ActiveX son más rápidas que las de AutoLISP.
-
Facilidad de uso. El lenguaje de programación y el entorno de desarrollo son fáciles de utilizar y se integran con AutoCAD después de que se haya instalado.
-
Funcionamiento conjunto con Windows. ActiveX y VBA están diseñados para su uso con otras aplicaciones de Windows y constituyen una excelente vía para la comunicación de información entre distintas aplicaciones.
-
Rápida creación de prototipos. El rápido desarrollo de interfaz de VBA proporciona el entorno perfecto para las aplicaciones de prototipos, incluso si esas aplicaciones se van a desarrollar en otros lenguajes.
-
Base para programadores. Por lo general, los programadores conocen Visual Basic .NET (VB.NET). VBA es similar a VB.NET y amplía el desarrollo de aplicaciones y personalización de AutoCAD tanto a estos programadores, así como a todos aquellos que estén dispuestos a aprender un lenguaje de programación, además de AutoLISP.