Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

摘要

除了元件物件模型 (COM) 增益集之外,Microsoft Office Excel 還支援自動化增益集。 本文將說明這兩種增益集類型的差異。 

其他相關資訊

COM 增益集

COM 增益集會向開發人員展示一種擴充 Office 應用程式功能的方式,以進行自訂工作。 COM 增益集通常是用來自動化 Excel,以回應按一下 CommandBar 按鈕、表單或對話方塊,或是 Excel 特定的一些其他事件,例如開啟或關閉活頁簿,或在工作表上輸入資料。 COM 增益集函數無法直接從工作表中的儲存格公式進行調用。

COM 增益集是程式中的 COM 伺服器, (必須實作 IDTExensibility2 介面的 ActiveX DLL) 。 所有 COM 增益集都必須實作此介面的五種方法:OnConnection、OnStartupComplete、OnAddinsUpdate、OnBeginShutDown 和 OnDisconnection。

當 COM 增益集安裝在使用者的系統上時,系統會為該增益集建立登錄專案。 除了一般 COM 註冊之外,COM 增益集會針對其執行的每個 Office 應用程式註冊。 Excel 使用的 COM 增益集會在下列登錄機碼中註冊:

            
HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins\ 

此機碼包含每個已安裝 COM 增益集的子機碼。 子機碼的名稱是 COM 增益集的 ProgID。 COM 增益集的子機碼也包含描述 COM 增益集易記名稱、描述和載入行為的值。 載入行為描述增益集在 Excel 中的增益集載入方式:在啟動時載入、僅在下一個啟動時載入、依需求載入或未載入。

您也可以透過 Excel 使用者介面載入及卸載 COM 增益集。 如果要執行這項操作,請依照下列步驟執行:

  1. 在 [檢視] 功能表上,指向 [工具列],然後按一下 [自訂]。

  2. 在 [工具列] 對話方塊中,按一下 [進階] 索引標籤。 在類別清單中,選取 [工具]。 在命令清單中找出 COM 增益集,並將命令拖曳到您選擇的功能表或命令列。 關閉 [工具列] 對話方塊。

  3. 按一下您新增的 COM 增益集命令,以顯示 [COM 增益集] 對話方塊。 對話方塊會列出您系統上安裝的所有 COM 增益集,並選取目前載入的 COM 增益集。

您也可以透過 Excel 使用者介面載入及卸載 COM 增益集。 如果要執行這項操作,請依照下列步驟執行:

  1. 按一下 [Microsoft Office 按鈕],然後按一下 [Excel 選項]

  2. 按一下 [增益集]

  3. 在 [ 管理]底下,按一下 [COM 增益集],然後按一下 [ 執行]

    [COM 載入宏] 對話方塊會列出電腦上安裝的所有 COM 增益集。 系統會選取目前載入的 COM 增益集。

如需詳細資訊,請參閱下列 Microsoft 網站:

Office 增益集平臺概觀

自動化增益集

除了 COM 增益集之外,Excel 還支援自動化增益集。 自動化增益集是以 COM 增益集為基礎,在自動化增益集中的函數可以從 Excel 工作表中的公式來稱呼。 COM 增益集必須是支援 IDTExtensibility2 介面的處理中 COM 伺服器;不過,自動化增益集可以是處理中或程式外 COM 伺服器,而 IDTExtensibility2 的實作則是選用的。

若要在 Excel 中使用來自自動化增益集的函數,請遵循下列步驟:

  1. 在 [工具] 功能表上,按一下 [增益集]。

  2. 在 [Add-Ins] 對話方塊中,按一下 [自動化]。 從已註冊的 COM 伺服器清單中,選取您的自動化增益集,然後按一下 [確定]。

  3. [自動化增益集] 會出現在 [增益集] 對話方塊中。 按一下 [確定] 關閉 [Add-Ins] 對話方塊。

若要在 Excel 2007 和更新版本中使用來自自動化增益集的函數,請遵循下列步驟:

  1. 按一下 [Microsoft Office 按鈕],然後按一下 [Excel 選項]

  2. 按一下 [增益集]

  3. 在 [ 管理]底下,按一下 [Excel 增益集],然後按一下 [ 執行]

  4. 在 [ 增益集 ] 對話方塊中,按一下 [ 自動化]。 在已註冊的 COM 伺服器清單中,按一下您的自動化增益集,然後按一下 [ 確定]

    [自動化增益集] 會出現在 [ 載入 宏] 對話方塊中。 按一下 [確定 ] 關閉 [增益集 ] 對話方塊。

當您在 [Add-Ins] 對話方塊中新增清單,或當您選取並清除清單中的增益集時,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"

注意:根據您使用的版本變更 Office 版本號碼。


字串值中使用的 /A 參數是 Excel 和較舊版本的新功能,專門用來載入自動化增益集。 所有自動化增益集都是依需求載入;沒有任何設定可以變更自動化增益集的載入行為。

清除 [Add-Ins] 對話方塊中列出的自動化增益集時,會在下列登錄機碼中建立名稱等於增益集 ProgID 的子機碼:



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
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Add-in Manager 此登錄設定可確保即使您選擇不載入增益集,您已新增至增益集清單的自動化增益集仍會保留在清單中。

如需詳細資訊,請參閱下列 Microsoft 網站:

Office 增益集平臺概觀

實作 IDTExtensibility2 的自動化增益集

如先前所述,自動化增益集可能會實作 IDTExtensibility2,但 Excel 不需要從工作表呼叫增益集中的函數。 如果您要求自動化增益集取得 Excel 實例的參照,您可以實作 IDTExtensibility2,並使用 OnConnection 的應用程式參數將 Excel 自動化。


作的自動化增益集 IDTExtensibility2 可透過 [COM Add-Ins] 對話方塊和 [Add-Ins] 對話方塊載入 Excel 使用者介面。 下列說明自動化增益集的行為,是根據載入于下列其中一個或兩個對話方塊中而定:

  • 僅在 [增益集] 對話方塊中載入。

    增益集會依需求載入。 增益集中的函數可以從工作表中的公式來稱呼。

  • 僅在 [COM 增益集] 對話方塊中載入。

    增益集會載入為 COM 增益集,其載入行為是從登錄中的設定判斷。 增益集中的函數無法從工作表中的公式來稱呼。

  • 同時載入 COM 增益集對話方塊和 [增益集] 對話方塊。

    增益集的兩個個別實例會載入。 其中一個實例會載入為 COM 增益集,另一個實例會載入為自動化增益集。 COM 增益集實例使用登錄中所指示的載入行為;自動化增益集實例會隨需求載入。 這兩個實例彼此獨立運作,且不會共用全域變數。

由於自動化增益集是依需求載入,因此 Excel 可能會在儲存格編輯模式中嘗試載入增益集。 因此,當您開發支援 IDTExtensibility2 的自動化增益集時,您應該小心不要執行任何在增益集載入時嘗試變更 Excel 狀態的動作。 如需詳細資訊,請參閱「Microsoft 知識庫」中的下列文章:

284876 BUG:自動化載入

時 Excel 失敗 Add-In (c) Microsoft Corporation 2001,保留一切權利。 Lori B. Defender、Microsoft Corporation 的捐贈。
 

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×