Программа Microsoft® Visual Basic® for Applications (VBA) предоставляет интеграции различных приложений, в которые встроена поддержка VBA.
Программные продукты на основе AutoCAD могут использоваться как контроллеры автоматизации для управления другими приложениями, например Microsoft Word или Excel.
Прим.: VBA больше не устанавливается по умолчанию. Дополнительные сведения см. на веб-странице http://www.autodesk.com/vba-download.
VBA отправляет сообщения через интерфейс AutoCAD ActiveX Automation. С помощью макроса AutoCAD VBA среда Visual Basic может работать одновременно с AutoCAD и осуществлять программный контроль AutoCAD через интерфейс ActiveX Automation. Связка AutoCAD, ActiveX Automation и VBA является очень мощным средством программирования. Она позволяет не только управлять объектами AutoCAD, но и обмениваться данными с другими приложениями.
Прежде чем можно будет редактировать или запустить макрокоманду из проекта VBA, она должна быть загружена в AutoCAD. Проекты VBA сохраняются в отдельном файле с расширением DVB и состоят из кода, модулей классов и форм. Благодаря тому что проекты VBA хранятся в отдельных файлах, в одном сеансе AutoCAD приложения VBA могут открывать и закрывать различные чертежи, что невозможно выполнить в AutoLISP.
Прим.: Проекты VBA не являются двоично совместимыми с файлами проектов Visual Basic (VBPROJ), созданными в Visual Studio.
Основные элементы VBA для AutoCAD
Принципы программирования на VBA для AutoCAD основываются на трех базовых составляющих.
- AutoCAD — обладает большим набором различных объектов AutoCAD, данных и команд. Возможность программирования в AutoCAD крайне желательна. Однако следует отметить, что положенный в основу VBA объектно-ориентированный подход к программированию существенно отличается от используемого в AutoLISP.
- Интерфейс ActiveX Automation — определяет порядок передачи сообщений (взаимодействия) с объектами AutoCAD. Программирование на VBA требует понимания принципов организации интерфейса ActiveX Automation.
- VBA — имеет свой собственный набор объектов, ключевых слов, констант, которые используются при написании, отладке и выполнении программ. В комплект поставки AutoCAD входит обширная справочная система по VBA от Microsoft.
Преимущества использования VBA
Интерфейс ActiveX/VBA программы AutoCAD обладает рядом преимуществ по сравнению с другими интерфейсами API AutoCAD.
- Скорость. Использование элементов ActiveX, вызываемых из VBA, обеспечивает более высокую производительность, чем использование приложений AutoLISP.
- Простота в использовании. Это простой в использовании язык и среда разработки, которая уже интегрирована в AutoCAD сразу после установки программы.
- Взаимодействие с приложениями Windows. ActiveX и VBA разработаны для использования в приложениях Windows и предоставляют прекрасные возможности для организации взаимодействия и обмена данными между различными приложениями.
- Быстрота разработки. Благодаря быстроте проектирования интерфейса приложений с помощью VBA данная среда может служить прекрасным средством для создания приложений-прототипов, даже если окончательная реализация планируется на другом языке программирования.
- Распространенность. Как правило, программисты знают Visual Basic .Net (VB.Net). VBA похож на VB.NET, и позволяет программистам, а также тем, кто хочет научиться программировать на языке отличном от AutoLISP, выполнять адаптацию AutoCAD и разрабатывать на нем приложения.