AutoCAD 2015でマクロを使う方法をお探しですね。
広告
AutoCAD 2015でマクロを使いたい人必見!VBAの問題と解決方法
AutoCAD 2015を使っていて、「マクロで作業を楽にしたい!」と思った経験はありませんか?特にVBA(Visual Basic for Applications)は、面倒な繰り返し作業を自動化してくれる便利なツールです。
でも実は、AutoCAD 2015ではVBAを使うのがちょっと大変になってしまいました。
今回は、その問題点と対処法について、わかりやすく説明していきますね。
AutoCAD 2015でVBAが使えない?その理由とは
AutoCAD 2015が発売されたとき、多くのユーザーが困った問題がありました。
それは、VBAがAutoCADに最初から入っていなくなったことです。
以前のバージョンでは、AutoCADをインストールすればVBAも一緒についてきました。
でも2015年からは、VBAを使おうとすると「VBAはAutoCADにインストールされていません」というメッセージが出るようになったんです。
「じゃあ、別途インストールすればいいんじゃない?」と思うかもしれませんが、ここにも問題が。
Autodesk(AutoCADを作っている会社)は、VBAのインストーラーを提供していましたが、古いバージョンのサポートは数年で終了してしまいます。
つまり、2015年以降にAutoCAD 2015でVBAを使おうと思っても、公式からインストーラーを入手するのが難しくなってしまったのです。
これって、今まで便利にVBAを使っていた人にとっては、かなりショックな出来事でした。
64ビット版で起こる厄介な問題
AutoCAD 2015の64ビット版では、もう一つ頭の痛い問題がありました。
それは、以前のバージョンで動いていたVBAコードが、そのまま使えなくなったことです。
具体的には、`ObjectID32`という命令が使えなくなりました。
代わりに`ObjectID`を使うようになったのですが、これまで作ったVBAプログラムに`ObjectID32`が含まれていると、エラーが出て動かなくなってしまいます。
「たった一つの命令が変わっただけでしょ?」と思うかもしれませんが、大きなプログラムを作っている場合、この修正作業はかなり大変です。
すべての`ObjectID32`を見つけて`ObjectID`に書き換える必要があるからです。
ExcelからAutoCADを操作するときの落とし穴
ExcelのVBAからAutoCADを操作しようとする人も多いと思います。
でも、ここにも大きな問題が潜んでいます。
ExcelのVBAは32ビットで動くのに対して、AutoCAD 2015は64ビットです。
この違いが原因で、データのやり取りがうまくいかないことがあります。
特に、AutoCADのオブジェクトを識別する番号(ObjectID)は64ビットの数字なのですが、32ビットのExcel VBAではこの大きな数字をうまく処理できません。
結果として、プログラムがクラッシュしたり、予期しないエラーが発生したりします。
単純に命令を書き換えるだけでは解決しない、なかなか厄介な問題なんです。
困ったときの解決策はこれ!
「じゃあ、AutoCAD 2015でマクロは諦めるしかないの?」と思うかもしれませんが、そんなことはありません。
いくつか対処法があります。
1. .NET APIに移行する
一番おすすめなのは、.NET API(C#やVB.NET)を使うことです。
これは現代的なプログラミング方法で、AutoCADの機能をほぼすべて使うことができます。
ただし、AutoCAD 2015用のSDK(開発キット)も入手が難しい場合があるので、コミュニティフォーラムなどで情報を探す必要があるかもしれません。
2. AutoLISPを活用する
AutoLISPも立派な選択肢です。
VBAほど複雑なことはできませんが、日常的な繰り返し作業を自動化するには十分な力があります。
しかも、AutoCADに標準で搭載されているので、追加インストールの心配がありません。
3. コミュニティの力を借りる
どうしてもVBAを使いたい場合は、AutoCADユーザーのコミュニティフォーラムで情報を探してみましょう。
同じ問題で困っている人や、解決策を知っている人がいるかもしれません。
4. バージョンアップを検討する
長期的に考えると、より新しいAutoCADにアップグレードして、最新の.NET APIを使うのが一番安心です。
Autodeskも古いバージョンのサポートは徐々に終了していくので、将来のことを考えるとこの選択肢が最も賢明かもしれません。
まとめ
AutoCAD 2015でVBAを使うのは確かに大変になりましたが、完全に不可能というわけではありません。
ただし、将来のことを考えると、新しい技術(.NET APIなど)に移行していく方が良いでしょう。
マクロや自動化は、CADの作業効率を大幅に向上させる素晴らしいツールです。
多少の困難があっても、諦めずにチャレンジしてみてくださいね。
きっと、あなたの作業がもっと楽になるはずです!
広告
