VBA

提供: GizmoLabs
移動先: 案内検索

VBA は統合開発環境(IDE)として AutoCAD では R14.01 から、IntelliCAD では当初から搭載された。 Visual Basic やVisual C++ の(ActiveX クライアント機能を持つ)プログラムからAutoCAD の機能を実行することができる。

VBAの採用により、習得が容易な Visual Basic 言語を用いて、AutoCAD のオブジェクトモデルを操作するオブジェクト指向のカスタマイズが可能になった。 VBA は、カスタムコマンドを直接作成するのではなく、VBA マクロを作成し、マクロ内で AutoCAD のオブジェクトを直接操作する方法をとる。 従来の AutoLISP や ADS アプリケーションとは、プログラム構造が異なるため、それらのプログラムからの移植は手間がかかる。

マイクロソフトによる VBA のサポートが終了したこともあり、後継となるVSTAへの移行が推奨されており、AutoCAD 2010 以降ではオプション扱い(標準でインストールされない,インストールメディアに入っていない状態)となった。

AutoCAD の VBA と IntelliCAD の VBA

AutoCAD の VBA と IJCAD 2013 以降の VBA はわりと互換がある。 AutoCAD の VBA と IntelliCAD の VBA は基本的に互換が無い。(IntelliCAD 7 時点)

また、IntelliCAD の VBA は不完全で VISIO 社より ITC へ移管された当時の状態から長らくメンテナンスされていない経緯があったようで、関数の実装状況やドキュメントの整合性などをみても快適に整備されているとはいえず、IntelliCAD での VBA による開発はそのような状況であることを踏まえた上で行わなければならない。 将来のバージョンでのサポートも保証されず、VBA が終息に向かっていることもあり利用は勧められない状況となっている。 IntelliCAD 7 で VSTA がサポートされたが、VSTA が既に終息方向に向かっているということで、各ベンダーでサポートされるかは微妙な状況。 AutoLISP か C++系を利用するのが定石だといえる。