關於使用 ActiveX Automation 開發應用程式

ActiveX Automation 是由 Microsoft® 開發的一種技術,並以 COM (元件物件模型) 架構為基礎。您可以使用它延伸 AutoCAD 系列產品的功能、與其他應用程式共用圖面資料,以及讓作業自動化。

您可以從任何用作 Automation 控制器的應用程式中建立並操控圖面物件。因此,Automation 可以跨應用程式啟用巨集程式設計,此功能通常無法與 AutoLISP 搭配使用。例如,您可能需要提示輸入、設定偏好、建立選集或擷取圖面資料。

這些顯示出來的物件稱為 Automation 物件。Automation 物件可以讓方法、性質與事件可用。方法是對物件執行某項動作的函數。性質是設定或傳回有關物件狀態資訊的函數。事件是使用者啟動的動作或狀況,程式會對其做出反應。

註:
  • AutoCAD LT for Windows 中的 ActiveX Automation 僅限 AutoCAD ActiveX 資源庫和 AutoLISP 程式設計語言;AutoCAD LT 不支援 VBA 或其他程式設計語言的 ActiveX Automation。也不支援協力廠商 ActiveX 資源庫,例如用於存取 Microsoft Word 和 Microsoft Excel 的資源庫。您必須擁有 AutoCAD 或 AutoCAD 系列產品,才能充分利用 ActiveX Automation。
  • Mac OS 或網頁不支援 ActiveX Automation。

存取使用 ActiveX 的外部應用程式 (僅限 AutoCAD for Windows)

為程式實施 ActiveX 介面有下列兩項優點:

實際上,任何類型的應用程式都可以存取 AutoCAD 內展示的 Automation 物件。這些應用程式可以是獨立的可執行檔和動態連結資源庫 (DLL) 檔,也可以是應用程式 (如 Microsoft Word 或 Microsoft Excel) 中的巨集,其中最常見的可能就是獨立的可執行檔。如果您所使用的應用程式是由協力廠商開發人員開發的,請遵循他們的指示來安裝和使用他們的產品。

定義外部指令以啟動您的應用程式 (僅限 AutoCAD for Windows)

您可以使用 acad.pgp 檔來定義一個指令執行外部指令以啟動單機版應用程式;這類似於可用來啟動指令的指令別名。

以下範例定義 RUNAPP1 指令,該指令執行位於 c:\vbapps\ 目錄的 app1.exe。(將此程式碼加入 acad.pgp 檔的外部指令區段)。

RUNAPP1, start c:\vbapps\app1, 0

如果您的應用程式需要指令行參數,您可以使用下列這段程式碼:

RUNAPP2, start c:\vbapps\app2, 0, *Parameters: ,

本範例定義 RUNAPP2 指令,該指令提示您輸入參數,然後將它們傳送至您的應用程式。

提示: 您也可以使用 AutoLISP 的 startapp 函數,來啟動利用 Automation 的應用程式。在 AutoLISP 啟動外部應用程式之後,它便無法再控制該應用程式的動作。不過,您可以使用 AutoLISP 根據某些參數來尋找並執行各種應用程式。

從使用者介面啟動應用程式 (僅限 AutoCAD for Windows)

在定義外部指令以啟動單機版應用程式之後,您可以使用該指令做為使用者介面元素指令巨集的一部分。

如果只是使用一個或兩個應用程式,您可以將其加入其中一個標準功能區面板或快速存取工具列。如果您有一組應用程式,則可以定義您自己的功能區面板,以專供這些應用程式使用。