問:有什么方式可以在AutoCAD啟動的時候自動加載VBA工程?
dakHH@Q i|z=WnF$& 答:當(dāng)VBA加載時會在AutoCAD目錄下尋找一個名叫acad.dvb的工程。如果找到,就會自動加載它。如果你想VBA和缺省工程在 AutoCAD啟動的時候每次都加載,你需要在acad.rx文件中生成一個入?。VBA被設(shè)計成命令加載方式(在沒有激活一個VBA命令之前不占用任何 內(nèi)存和進程)。為了總是加載VBA和acad.dvb工程,請在acad.rx文件中包含下列一行:
@yb'h`f] k0=!%f_G! acadvba.arx
U[3w9 Xj+_"0
# 在AutoCAD 2000中支持嵌入工程,這樣當(dāng)你打開擁有嵌入工程的圖形文件時該工程就會自動加載。所以定義嵌入工程也是一個很好的自動加載VBA工程的辦法。
]Xa]a}[uE KRlJKd{ 問:有辦法可以在AutoCAD啟動時自動運行一個VBA例程或宏嗎?
.S|T{DMQ[ _Ycz@Jn iJhieNn 答:當(dāng)然。你可以從AutoCAD的acad.lsp文件的啟動功能中通過VBARUN的命令行版本運行一個工程中的宏。首先,你需要準(zhǔn)備 acad.dvb文件以便自動加載。以drawline.dvb作為例子,用VBALOAD命令彈出VBA IDE對話框。然后用VBA IDE保存為菜單命令保存此工程為新的名字acad.dvb。下一步,激活notepad.exe并且建立或添加下列行到acad.lsp文件中:
nI?*[y} ~Yc~_)hD (defun S::STARTUP() (command "_-vbarun" "drawline"))
|sr\SCx K_Y{50# 問: AutoCAD支持VBA多工程的打開嗎?
*JX$5bZsI }iDRlE, 答:在2000中支持。但在14版中尚不支持。
Z?xaXFm_ tH;9"z#
~ 問:我可以加密我的VBA模塊代碼嗎?
MkFWZ9c3 9;XbyA] 答:雖然VBA不支持可執(zhí)行文件的創(chuàng)建,但是它確實在一個工程的基礎(chǔ)上提供了口令保護工程窗體、類和模塊可見性的功能。你可以發(fā)現(xiàn)這個工程保護功能在VBA IDE菜單中。選擇 工具 > 工程屬性 > 保護。如下圖所示:
:I7qw0? 7Z:3xb&> KB~1]cYMp 問:在VBA中如何在命令行上提示?
gzi=+oJ|4 5P #._Em 答:有一些方法允許在命令行提示輸入以獲取數(shù)據(jù)。這些方法以“GET”開頭。你可以發(fā)現(xiàn)決大多數(shù)的方法(如果不是全部的話)通過對象瀏覽器搜索 AutoCAD類型庫。啟動VBA IDE。擊F2功能鍵或者從視圖菜單中選擇對象瀏覽器。?對象瀏覽器窗口中使用庫范圍下拉列表把缺省的<所有庫>改成AutoCAD。庫列表 下面的編輯列表框是用來搜索的。輸入GET到那個編輯列表框中并且敲回車鍵。包含“GET”的類和成員函數(shù)就會顯示在滾動列表中。AcadUtility 的一些成員函數(shù)可以?命令行上提示用戶輸入。如下圖所示:
`:Wyw<^ j%3$ytf|p 問:我怎樣從AutoCAD菜單中激活一個VBA例程?
5!9y nIC+> |0Fo{ 答:你需要編輯菜單和添加VBARUN模塊子例程。首先確認正確的VBA工程已經(jīng)加載。
32+N?[9