Microsoft® Visual Basic® for Applications (VBA) 軟體提供與其他可使用 VBA 之應用程式的應用程式整合。
AutoCAD 系列產品可以做為其他應用程式 (例如 Microsoft Word 或 Excel) 的自動控制器使用。
註: VBA 不再依預設安裝。如需更多資訊,請造訪 https://www.autodesk.com/vba-download。
VBA 會使用 AutoCAD ActiveX Automation 介面傳送訊息。AutoCAD VBA 允許 Visual Basic 環境與 AutoCAD 同時執行,並可透過 ActiveX Automation Interface 提供 AutoCAD 的程式化控制。AutoCAD、ActiveX Automation 以及 VBA 的連結可提供功能相當強大的介面。它不只控制 AutoCAD 物件,還能將資料傳送到其他應用程式,或從其他應用程式中擷取資料。
在您從 VBA 專案編輯或執行巨集之前,必須先將其載入 AutoCAD。VBA 專案儲存在副檔名為 .dvb 的獨立檔案中,並由程式碼與類別模組以及表單組成。因為 VBA 專案儲存在獨立檔案中,所以 VBA 專案可在階段作業期間開啟和關閉不同的 AutoCAD 圖面,其無法透過 AutoLISP 完成。
註: VBA 專案無法二進位相容於以 Visual Studio 建立的 Visual Basic 專案 (VBPROJ)。
AutoCAD VBA 的基本元素
三個基本元素可定義 AutoCAD 中的 VBA 程式設計。
- AutoCAD - 提供豐富的物件集,包括 AutoCAD 圖元、資料和指令。AutoCAD 的可程式編寫功能是相當值得期待的。不過您會發現,雖然同是基於物件,但是 VBA 與 AutoLISP 所使用的方法是相當不同的。
- AutoCAD ActiveX Automation 介面 - 使用 AutoCAD 物件建立訊息 (通訊)。要在 VBA 中進行程式設計,必須對於 ActiveX Automation 有一些基本的瞭解。
- VBA - 提供其自身可用於程式流向、控制、除錯和執行的物件集、關鍵字和常數。AutoCAD VBA 隨附有 Microsoft 的 VBA 擴充「說明」系統。
使用 VBA 的優點
與其他 AutoCAD API 環境相比,AutoCAD ActiveX/VBA 介面具有數項優勢:
-
速度。執行於 VBA 的 ActiveX 應用程式要比 AutoLISP 應用程式快得多。
-
容易使用。 程式設計語言和開發環境易於使用,並能夠與安裝的 AutoCAD 進行整合。
-
Windows 互通性。ActiveX 和 VBA 的設計目的即為與其他 Windows 應用程式一起使用,並提供應用程式之間資訊通訊的絕佳路徑。
-
快速成型。VBA 的快速介面開發可提供應用程式成型的完美環境,即使這些應用程式最終以其他語言開發。
-
程式設計師人才庫。程式設計師通常都知道如何使用 Visual Basic .Net (VB.Net)。VBA 與 VB.NET 類似,可讓這些程式設計師和願意學習 AutoLISP 以外的程式設計語言者,進行 AutoCAD 自訂與應用程式開發。