「VBA」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
 
 
(同じ利用者による、間の7版が非表示)
1行目: 1行目:
VBA は統合開発環境(IDE)として AutoCAD R14.01 からVBA を正式に搭載された。
VBA は統合開発環境(IDE)として AutoCAD では R14.01 から、IntelliCAD では当初から搭載された。
Visual Basic やVisual C++ の(ActiveX クライアント機能を持つ)プログラムからAutoCAD の機能を実行することができる。
Visual Basic やVisual C++ の(ActiveX クライアント機能を持つ)プログラムからAutoCAD の機能を実行することができる。


6行目: 6行目:
従来の AutoLISP や ADS アプリケーションとは、プログラム構造が異なるため、それらのプログラムからの移植は手間がかかる。
従来の AutoLISP や ADS アプリケーションとは、プログラム構造が異なるため、それらのプログラムからの移植は手間がかかる。


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


[http://ja.wikipedia.org/wiki/Visual_Basic_for_Applications wikipadia]
* [http://ja.wikipedia.org/wiki/Visual_Basic_for_Applications wikipadia]
* [http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=770215 Microsoft Visual Basic for Applications Module FAQ]


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

2017年11月20日 (月) 11:30時点における最新版

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++系を利用するのが定石だといえる。