LISP自訂函數呼叫VBA巨集
身為一名工程人員,繪圖時能夠精簡步驟,節省時間是最好不過的事情。
即便已經會使用VBA,但操作的過程還是需要點選"執行VBA巨集"→選擇要執行的VBA。
當很多的SUB一一被寫出來,要從一整排的VBA找到正確功能的去點擊,也是很不容易的事情(當VBA執行視窗無法完整顯示巨集名稱的時候)。
此時,如果VBA的執行能夠像是從一般介面去點擊或者是指令操作,那就太完美了!
為達成上述功能有以下方式可供嘗試:
1. 使用者介面(CUI)新增自訂方法編寫CAD巨集語言指定VBA。
2. VBA操作menu物件去指定VBA。
3. 透過LISP語言去新增自訂函數。
其中,最為方便的乃為LISP,日後只需要設定指令即可達成VBA的效果,相關步驟如下:
1.開啟筆記本(notepad),將以下代碼貼上後,存檔並將副檔名更改為.lsp。
(defun c:bk() ;自訂函數名稱
(vl-load-com)
(setvar "cmdecho" 0)
(command "-vbarun" )
(command "BreakLine" ) ;要執行的sub名稱
(setvar "cmdecho" 1)
)
P.S:更改副檔名的方式,先至資料夾選項中,將隱藏副檔名取消勾選即可更改。
2.開啟CAD後,點擊"載入應用程式"→選取已編寫完成的.dvb檔案。
3.點擊"載入應用程式"→載入此lsp檔案。
4.如果需要常駐也可以加入至啟用套件,就省得每次重開圖面就要再執行一次了。
之後在圖面上只要打入 bk 就會自動執行Sub BreakLine() ....End Sub 該程序的內容了!!!!
即便已經會使用VBA,但操作的過程還是需要點選"執行VBA巨集"→選擇要執行的VBA。
當很多的SUB一一被寫出來,要從一整排的VBA找到正確功能的去點擊,也是很不容易的事情(當VBA執行視窗無法完整顯示巨集名稱的時候)。
此時,如果VBA的執行能夠像是從一般介面去點擊或者是指令操作,那就太完美了!
為達成上述功能有以下方式可供嘗試:
1. 使用者介面(CUI)新增自訂方法編寫CAD巨集語言指定VBA。
2. VBA操作menu物件去指定VBA。
3. 透過LISP語言去新增自訂函數。
其中,最為方便的乃為LISP,日後只需要設定指令即可達成VBA的效果,相關步驟如下:
1.開啟筆記本(notepad),將以下代碼貼上後,存檔並將副檔名更改為.lsp。
(defun c:bk() ;自訂函數名稱
(vl-load-com)
(setvar "cmdecho" 0)
(command "-vbarun" )
(command "BreakLine" ) ;要執行的sub名稱
(setvar "cmdecho" 1)
)
P.S:更改副檔名的方式,先至資料夾選項中,將隱藏副檔名取消勾選即可更改。
2.開啟CAD後,點擊"載入應用程式"→選取已編寫完成的.dvb檔案。
3.點擊"載入應用程式"→載入此lsp檔案。
4.如果需要常駐也可以加入至啟用套件,就省得每次重開圖面就要再執行一次了。
之後在圖面上只要打入 bk 就會自動執行Sub BreakLine() ....End Sub 該程序的內容了!!!!
留言
張貼留言