Excel COM 增益集和自動化增益集

文章翻譯 文章翻譯
文章編號: 291392 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

結論

Microsoft Office Excel 2002 和 Microsoft Office 2007 支援自動化增益集除了元件物件模型 (COM) 增益集。本文將告訴您,這兩種類型的增益集的差異。

其他相關資訊

COM 增益集

COM 增益集展示開發人員擴充功能的 Office 2000、 Office XP,Office 2003 和 Office 2007 應用程式的自訂工作的方法。COM 增益集通常用來自動化 Excel 以回應按 CommandBar 按鈕]、 [表單] 或 [對話方塊] 方塊] 或 [Excel,例如開啟或關閉活頁簿或工作表上輸入資料的特定的某些其他事件。COM 增益集函式不能直接呼叫從工作表中的儲存格公式。

COM 增益集是必須實作 IDTExensibility2 介面的同處理序 COM 伺服器 (ActiveX DLL)。所有 COM 增益集必須都實作每一個此介面的五個方法: OnConnectionOnStartupCompleteOnAddinsUpdateOnBeginShutDownOnDisconnection

當 COM 增益集使用者的系統上安裝時,登錄項目會建立的增益集。除了標準的 COM 為它執行每個 Office 應用程式註冊 COM 增益集的登錄。COM 增益集使用的 Excel 都登錄在下列登錄機碼:
HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins\ 
					
此機碼含有子機碼的每個已安裝 COM 增益集。子機碼名稱是針對 COM 增益集程式識別碼。對於一個 COM 增益集子機碼也包含描述 [COM 增益集的好記名稱,描述,並載入行為的值。載入表現方式描述增益功能載入方式在 Excel 中: 啟動只,下次啟動時載入時載入,視,需要載入或無法載入。

COM 增益集也可載入和卸載透過 Excel 2002 的使用者介面。要這麼做,請您執行下列步驟:
  1. 在 [檢視] 功能表上指向 [工具列],然後按一下 [自訂]。
  2. 在 [工具列] 對話方塊按一下 [進階] 索引標籤]。在類別清單,選取 [工具]。指令清單中找出 COM 增益集,並將命令拖曳到功能表或您選擇的 CommandBar。關閉 [工具列] 對話方塊。
  3. 按一下您新增至顯示 [COM 增益集] 對話方塊的 [COM 增益集] 指令。[] 對話方塊中列出所有 COM 增益集安裝在您的系統上並已選取 [COM 增益集目前載入的。
COM 增益集也可載入和卸載透過 Excel 2007 使用者介面。要這麼做,請您執行下列步驟:
  1. 按一下 Microsoft Office 按鈕,然後按一下 [Excel 選項
  2. 按一下 [新增增益集
  3. 在 [管理 下, 按一下 COM 新增單元,],然後再按一下 [移至]。

    [COM 增益集] 對話方塊會列出所有 COM 增益集,安裝在電腦上。選取 [COM 增益集,目前已載入。
如需有關 COM 增益集的詳細資訊,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件]:
238228HOWTO: 建置一個 Office 2000 COM 增益集在 Visual Basic 中
230689範例: comaddin.exe Office 2000 COM 增益集以 Visual C++ 撰寫
如需詳細資訊請參閱下列 Microsoft 網站]:
辦公室增益集
http://support.microsoft.com/ofd

自動化新增單元

除了 COM 增益集、 Excel 2002 及 Excel 2003 支援自動化新增不大小寫自動化增益集建置上 COM 增益集,因為從 Excel 工作表中的公式呼叫 Automation 增益集的函式。COM 增益集必須是支援 IDTExtensibility2 介面的同處理序 COM 伺服器 ; 但是,自動化增益集可以同處理序或逾時的處理序 COM 伺服器,而且 IDTExtensibility2 實作是選擇性的。

如果要使用 Excel 中的自動化增益集來自函式請依照下列步驟執行:
  1. 在 [工具] 功能表上按一下 [增益集]。
  2. 在 [增益集] 對話方塊中,按一下 [自動化]。從已註冊的 COM 伺服器清單中,選取您的自動化增益集,按一下 [確定]
  3. 自動化新增在出現在 [增益集] 對話方塊。按一下 [確定] 以關閉 [增益集] 對話方塊。
如果要在 Excel 2007 中使用自動化增益集來自函式,請依照下列步驟執行:
  1. 按一下 Microsoft Office 按鈕,然後按一下 [Excel 選項
  2. 按一下 [新增增益集
  3. 在 [管理 下, 按一下 Excel 新增單元,然後按一下 [移至]。
  4. 在 [增益集] 對話方塊中,按一下 [自動化]。在已註冊的 COM 伺服器清單中, 按一下您的自動化增益集,然後按一下 [確定]

    自動化新增在出現在 [增益集] 對話方塊。按一下 [確定] 以關閉 [增益集] 對話方塊。
當您進行時加入清單的項目在 增益集] 對話方塊或當您選取並清除 [在清單中的 [增益集時,Excel 會在登錄中儲存您所做的變更。第一次,Excel 會使用下列的登錄設定來決定為自動化增益集在 [新增]-[在] 清單中載入:
 Excel 2002
Key:            HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Options
String:         OPENx
Sample Value:   /A "ServerName.ClassName"
					
 Excel 2003
Key:            HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options
String:         OPENx
Sample Value:   /A "ServerName.ClassName"
					Excel 2007
Key:            HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Options
String:         OPENx
Sample Value:   /A "ServerName.ClassName"
					
/ A 切換所使用的字串值是 Excel 2002 的新 / Excel 2003,專門用來載入自動化增益集使用。所有的自動化增益集視需要載入 ; 沒有可以變更負載行為的自動化增益集未設定。

清除自動化增益集 [增益集] 對話方塊中所列時,名稱等到 [新增-中的子機碼的程式識別碼會建立在下列登錄機碼:
Excel 2002:
HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Add-in Manager
					 Excel 2003:

HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Add-in Manager
					
此登錄設定可確保,自動化甚至您選擇不載入這些時,將會保留在清單中的增益集已經新增到 [增益集] 清單。

如需有關自動化增益集的詳細資訊,請參閱下列的文件 「 Microsoft 知識庫 」 中:
285337HOWTO: 建立一個 Visual Basic 自動化增益集的 Excel 工作表函數
如需詳細資訊請參閱下列 Microsoft 網站]:
辦公室增益集
http://support.microsoft.com/ofd

自動化增益集實作 IDTExtensibility2

身先前所述自動化增益集可能會實作 IDTExtensibility2,但是它並不需要為了讓 Excel 在增益功能中呼叫函式,從工作表。如果您需要自動化增益集取得 Excel 執行個體的參考,您可以實作 IDTExtensibility2,並自動化 Excel 使用 OnConnection應用程式 參數。

自動化增益集實作 IDTExtensibility2 可透過 [COM 增益集] 對話方塊和 [增益集] 對話方塊的 [Excel] 使用者介面中載入。下列說明一個自動化的行為增益功能根據是否它載入一或多個這些對話方塊中:
  • 只在 [增益集] 對話方塊中載入。

    增益功能在視需要載入。增益功能中的函式可能呼叫從工作表中的公式。
  • 只在 [COM 增益集] 對話方塊中載入。

    增益功能載入成一個 COM 增益集,且及其載入表現方式會決定從登錄中的設定。無法從工作表中的公式呼叫中增益集的函式。
  • 在 [COM 增益集] 對話方塊和 [增益集] 對話方塊中載入。

    正在載入增益集的兩個不同的執行個體。一個執行個體載入成一個 COM 增益集,且以自動化增益功能載入其他執行個體。COM 增益集執行個體使用在登錄中指示的載入表現方式 ; 在視需要載入自動化增益集執行個體。兩個執行個體獨立的另一個運作,而且並不會共用的全域變數。
自動化增益集視需要載入,因為 Excel 可能會嘗試載入增益集,在儲存格編輯模式時。因此,開發自動化增益集支援 IDTExtensibility2 時, 您應該小心不要執行任何動作會嘗試變更 Excel 的狀態時 [新增-負載量。如需詳細資訊請參閱下列的 「 Microsoft 知識庫 」 中的文件:
284876注意: Excel 失敗自動化增益集載入時
(保留所有的權限 c) Microsoft Corporation 2001。Lori B.Turner,Microsoft 公司所佔的比重。

屬性

文章編號: 291392 - 上次校閱: 2007年1月10日 - 版次: 4.2
這篇文章中的資訊適用於:
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
關鍵字:?
kbmt kbautomation kbinfo KB291392 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:291392
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com