C : VBA  December 28, 2005

●VBAをコマンド登録 & メニュー作成

作成したVBA(dvb)をコマンドとして実行できるように登録

マクロ内に
^c^c(vl-vbarun "dvbファイル名!マクロ名")
という方法がある

ここでは少々面倒だがあえて
メニューを作成しコマンドとして登録してみる。

1、VBAファイル(SampleProject.dvb)をフォルダに保存
(例、d:\acCustom)
vba07.png


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


3、メニューの作成
部分CUIファイルを作成:「accustom.cui
ツールバー :「MyTools
名前     :「Sampleコマンド
コマンド   :「csample
アイコン   :「csample.BMP」として登録

「ツール」-「メニュー」-「インターフェイス

ここをクリック


注)コマンドを新規作成した時は「acad」メニューに作成されます。
この後、別のメニューにドラッグすると 2つのコマンドが作成されてしまいます。
「acad」メニューにできたコマンドは削除しておきましょう。
cui-xx.jpg


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

メモ帳で
mnlファイルを作成:「accustom.mnl
vba10.png

dvbファイル
vba09.png

Posted by m_eguchi at December 28, 2005 10:17 PM
トラックバックURL

このエントリーのトラックバック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)
)

詳しく解かる方いませんかー

Posted by m.eguchi [TypeKey Profile Page] at February 9, 2006 05:48 PM