AutoLISPで指定のdvbファイルを一括でロードする|AutoCAD VBAマクロの作成方法
AutoCAD VBAファイル(dvbファイル)は、AutoCADを終了するたびにアンロードされます。しかし、スタートアップ登録することで、AutoCAD起動時に自動的にロードさせることが可能です。ただし、dvbファイルごとに個別に登録する必要があります。すべてのファイルが同じフォルダにあれば一括で登録できますが、大量のdvbファイルが異なる場所に散在し、さらに他のユーザーと共有する必要がある場合、この作業は非常に手間がかかります。
そこで本ページでは指定のdvbファイルを一括でロードするLISPファイルの作成方法を解説していきます。これにより、このLISPファイル1つさえスタートアップ登録に設定しておけば、AutoCAD起動時にLISP内に記載されているすべてのdvbファイルを一括でロードさせることができるようになります。LISPファイルはメモ帳でも編集ができるためdvbファイルのパスの編集も容易に行うことができます。
本ページで学べる内容は以下のとおりです。
AutoLISPでdvbファイルを読み込ませる方法
AutoLISPで複数のdvbファイルを一括で読み込ませる方法
AutoCAD起動時に自動でLISPファイルを実行させる方法
AutoLISPでdvbファイルをロード
AutoLISPでdvbファイルをロードするにはvl-vbaload関数を使い下記のように記載します。
(vl-vbaload “C:\\…\\Project.dvb”)
使い方は引数として読み込ませたいdvbファイルのフルパスを入力するだけです。
パスの区切り文字は2つの円マーク(\\)にする必要があるのでこの点だけは注意が必要です。
AutoLISPはコマンドライン上で実行することもできます。上記コードをコマンドラインに入力して実行することで、フルパスで指定したdvbファイルをAutoCADに読み込ませることができます。
LISPファイル作成
LISPファイルの作成はVBScriptやバッチファイルのようにテキストファイルの拡張子を変更するだけで作成が可能です。新規テキストファイルを任意の場所に作成して下記コードを記載してください。
1 2 3 4 5 |
(vl-vbaload "C:\\...\\Project.dvb") (vl-vbaload "C:\\...\\Project2.dvb") (vl-vbaload "C:\\...\\Project3.dvb") ;読み込ませたいdvbファイル分記載のこと |
上記コードを記載したテキストファイルが作成出来たら、拡張子を「.lsp」に変更します。これでLISPファイルは完成です。AutoCAD上にドラッグ、もしくは[アプリロード](APPLOAD)コマンドからdvbファイルと同じように操作することでAutoCADに読み込ませることができます。
LISPファイルは実行されると通常のプログラムと同じように上から順に1行ずつ実行されていきます。そのため、上記コードの場合は実行すると「Project.dvb」「Project2.dvb」「Project3.dvb」の順でdvbファイルがAutoCADにロードされます。
LISPファイル読み込み時のセキュリティ警告
読み込ませるLISPファイルがAutoCADオプションの「信頼できる場所」に登録されていないディレクトリ内にある場合、上記のようなセキュリティの警告ウィンドウが表示されます。
AutoCAD起動時にdvbファイル一括ロード
前項で指定のdvbファイルを一括でロードするLISPファイルが作成できました。
あとはこのLISPファイルをスタートアップ登録に設定するだけで、AutoCAD起動時にLISPファイルに記載されているすべてのdvbファイルを読み込ませることができるようになります。
スタートアップ登録は[アプリロード](APPLOAD)コマンドの実行で表示される「アプリケーションのロード/ロード解除」ウィンドウの[スタートアップ登録]から設定することができます。
[内容]ボタンをクリックすると[スタートアップ登録]ウィンドウが表示されるので、[追加]ボタンから作成したLISPファイルを設定してウィンドウをすべて閉じます。これでAutoCAD起動時に指定のdvbファイルを一括ロードすることができるようになりました。
AutoCAD起動時に読み込ませるdvbファイルを変更したい場合は、LISPファイルをメモ帳で開いて直接LISPのコードを書き換えるだけで設定が可能です。AutoCADとしては起動時に読み込んでいるのはLISPファイルだけなので、その中身の処理を変えてしまえば起動時の処理も変更することができるというわけです。LISPはセミコロン[;]でコメント設定できるので文字での管理も可能です。
まとめ
今回の内容をまとめると以下のとおりです。
AutoLISPでdvbファイルを読み込ませるにはvl-vbaload関数を使用する
LISPファイルはテキストファイルの拡張子を「.lsp」にするだけで作成可能
LISPファイルの編集はメモ帳でも可能
AutoCAD起動時にLISPファイルを自動実行させるにはスタートアップ登録の設定をする
今回は指定のdvbファイルを一括でロードするAutoLISPという名目ではじめていましたが、実際のところはAutoCAD起動時にロードされるdvbファイルをLISPファイルに集約して管理や編集のしやすいスタートアップ登録の設定を行う方法についての解説でした。
本ページの内容のように読み込ませるdvbファイルを1つのLISPファイルにまとめておくことで、他のユーザーに共有するときもLISPファイルを1つ渡してスタートアップ登録してもらうだけですぐにVBAマクロが使える状況になります。(※dvbファイルが共有フォルダにある前提でのお話)