C : VBA December 28, 2005
●VBAをコマンド登録 & メニュー作成
作成したVBA(dvb)をコマンドとして実行できるように登録
マクロ内に
^c^c(vl-vbarun "dvbファイル名!マクロ名")
という方法がある
ここでは少々面倒だがあえて
メニューを作成しコマンドとして登録してみる。
1、VBAファイル(SampleProject.dvb)をフォルダに保存
(例、d:\acCustom)

2、AutoCADからパスを通しておく
ファイルを相対的に利用できるようにする為です。
「ツール」-「オプション」 「ファイル」タブ
「サポートファイルの検索パス」を選択
「追加」をクリック、「参照」をクリック フォルダを選択します。

3、メニューの作成
部分CUIファイルを作成:「accustom.cui」
ツールバー :「MyTools」
名前 :「Sampleコマンド」
コマンド :「csample」
アイコン :「csample.BMP」として登録
「ツール」-「メニュー」-「インターフェイス」
![]()
注)コマンドを新規作成した時は「acad」メニューに作成されます。
この後、別のメニューにドラッグすると 2つのコマンドが作成されてしまいます。
「acad」メニューにできたコマンドは削除しておきましょう。

4、mnlファイルの作成
コマンドとして利用できるようにLispで登録
mnlはこのメニューがロードされた時に自動的に読込まれるファイル。
メモ帳で
mnlファイルを作成:「accustom.mnl」

dvbファイル

このエントリーのトラックバックURL:
http://www.kkkxcec.com/supportwlog/mt-tb.cgi/54
(defun c:csample()
(vl-vbarun "SampleProject.dvb!Example_AddCircle")
(princ)
)
とあるが、
エラー処理に問題があると
実行後 FileDia が「0」になってしまう時がある??
ので、
「(setvar "filedia" 1)」を追加しておく
(defun c:csample()
(vl-vbarun "SampleProject.dvb!Example_AddCircle")
(setvar "filedia" 1) ;;;追加
(princ)
)
詳しく解かる方いませんかー
