Le logiciel Microsoft® Visual Basic® for Applications (VBA) permet d'intégrer une application à d'autres applications compatibles avec VBA.
Les produits basés sur AutoCAD peuvent servir de contrôleur d'automatisation pour d'autres applications telles que Microsoft Word ou Excel.
Remarque : VBA n'est plus installé par défaut. Pour plus d'informations, visitez le site https://www.autodesk.com/vba-download-fra.
VBA envoie des messages à l'aide de l'interface Automatisation ActiveX d'AutoCAD. VBA AutoCAD permet d'exécuter simultanément l'environnement Visual Basic et AutoCAD, et de gérer AutoCAD par programmation à l'aide de l'interface Automatisation ActiveX. Cette association d'AutoCAD, d'Automatisation ActiveX et de VBA offre une interface extrêmement puissante. En plus de gérer les objets AutoCAD, elle permet également d'échanger des données avec d'autres applications.
Pour pouvoir modifier ou exécuter une macro d'un projet VBA, vous devez d'abord la charger dans AutoCAD. Les projets VBA sont enregistrés dans des fichiers séparés et dotés de l'extension .dvb. Ils sont composés de code, de modules de classe et de formulaires. Etant donné qu'ils sont stockés dans un fichier distinct, ils peuvent ouvrir et fermer différents dessins AutoCAD au cours d'une session, ce qui est impossible avec AutoLISP.
Remarque : Les projets VBA ne sont pas compatibles en mode binaire avec les projets Visual Basic (VBPROJ) créés à l'aide de Visual Studio.
Principaux éléments de VBA AutoCAD
Trois éléments fondamentaux définissent la programmation VBA dans AutoCAD.
- AutoCAD : contient un jeu complet d'objets comprenant des données, des commandes et des entités AutoCAD. Les possibilités de programmation offertes par AutoCAD sont très appréciables. Toutefois, vous constaterez que l'approche VBA basée sur les objets diffère sensiblement de celle d'AutoLISP.
- Interface Automatisation ActiveX d'AutoCAD : établit des messages pour la communication avec les objets AutoCAD. La programmation VBA requiert une maîtrise des notions de base d'Automatisation ActiveX.
- VBA : dispose de son propre jeu d'objets, de mots-clés et de constantes, qui permettent de définir le déroulement des programmes, ainsi que de les gérer, les déboguer et les exécuter. Le système d'aide complet Microsoft pour VBA est inclus dans VBA AutoCAD.
Avantages offerts par VBA
L'interface ActiveX/VBA d'AutoCAD présente plusieurs avantages par rapport aux autres environnements API d'AutoCAD :
-
Rapidité. Exécutées dans le même processus que VBA, les applications ActiveX sont plus rapides que les applications AutoLISP.
-
Facilité d'utilisation. Le langage de programmation et l'environnement de développement sont faciles à utiliser et sont intégrés dans AutoCAD après son installation.
-
Interopérabilité Windows. ActiveX et VBA sont conçus pour être utilisés avec d'autres applications Windows et fournissent un excellent canal de communication des informations entre les applications.
-
Prototypage rapide. L'environnement rapide de développement d'interfaces de VBA s'avère idéal pour la création de prototypes d'application, même si l'application en question doit être développée dans un autre langage.
-
Accessibilité aux programmeurs. Les programmeurs connaissent généralement Visual Basic .NET (VB.Net). Semblable à VB.NET, VBA offre aux programmeurs et à ceux qui souhaitent découvrir un langage de programmation autres qu'AutoLISP l'occasion d'exploiter les fonctions de développement d'applications et de personnalisation d'AutoCAD.