IManagedAddin 介面

實作 IManagedAddin 介面,以建立載入受控 VSTO 載入宏的元件。此介面已在 2007 Microsoft Office 系統中新增。

語法

[
    object,
    uuid(B9CEAB65-331C-4713-8410-DDDAF8EC191A),
    pointer_default(unique),
    oleautomation
]
interface IManagedAddin : IUnknown
{
    HRESULT Load(
        [in] BSTR bstrManifestURL,
        [in] IDispatch *pdispApplication);
    HRESULT Unload();
};

方法

下表列出 IManagedAddin 介面所定義的方法。

名稱 描述
IManagedAddin::Load 當 Microsoft Office 應用程式載入 Managed VSTO 增益集時呼叫。
IManagedAddin::Unload 只在 Microsoft Office 應用程式卸載 Managed VSTO 增益集之前呼叫。

備註

Microsoft Office 應用程式 lications 從 2007 Microsoft Office 系統開始,使用 IManagedAddin 介面來協助載入 Office VSTO 載入宏。您可以實作 IManagedAddin 介面,為受控 VSTO 載入宏建立自己的 VSTO 載入宏和運行時間,而不是使用 VSTO 載入宏載入器 (VSTOLoader.dll) 和 Visual Studio Tools for Office 執行時間 。 如需詳細資訊,請參閱 Architecture of VSTO Add-ins

載入受控載入宏的方式

當應用程式啟動時,會執行下列步驟:

  1. 應用程式會在下列登錄機碼底下尋找項目,以探索 VSTO 增益集:

    HKEY_CURRENT_USER\Software\Microsoft\Office\<application name>\Addins\

    這個登錄機碼下的每個項目都是 VSTO 增益集的唯一識別碼。 通常這會是 VSTO 增益集組件的名稱。

  2. 應用程式會在每個 VSTO 增益集的項目底下尋找 Manifest 項目。

    受控 VSTO 載入宏可以將指令清單的完整路徑儲存在Manifest專案HKEY_CURRENT_USER\Software\Microsoft\Office\<application name>\Addins\addins\<add-in 標識符>下。 資訊清單是一種檔案 (通常是 XML 檔案),可提供協助載入 VSTO 增益集的資訊。

  3. 如果應用程式找到 Manifest 項目,則會嘗試載入 Managed VSTO 增益集載入器元件。 應用程式會嘗試建立實作 IManagedAddin 介面的 COM 物件來執行此動作。

    Visual Studio Tools for Office 運行時間包含 VSTO 載入宏載入器元件 (VSTOLoader.dll),或者您可以實作 IManagedAddin 介面來建立自己的元件。

  4. 應用程式會呼叫 IManagedAddin::Load 方法,並傳入 Manifest 項目的值。

  5. IManagedAddin::Load 方法會執行載入 VSTO 增益集所需的工作,例如設定要載入之 VSTO 增益集的應用程式定義域和安全性原則。

    如需 Microsoft Office 應用程式 lication 用來探索和載入受控 VSTO 載入宏之登錄機碼的詳細資訊,請參閱 VSTO 載入宏的登錄專案。

實作 IManagedAddin 的指引

如果您實作 IManagedAddin,您必須使用下列 CLSID 註冊包含實作的 DLL:

99D651D7-5F7C-470E-8A3B-774D5D9536AC

Microsoft Office 應用程式 lications 會使用此 CLSID 來建立實作 IManagedAddin 的 COM 物件。

警告

Visual Studio Tools for Office 運行時間 中的 VSTOLoader.dll 也會使用此 CLSID。 因此,如果您使用 IManagedAddin 建立自己的 VSTO 載入器和運行時間元件,則無法將元件部署到執行依賴 Visual Studio Tools for Office 運行時間之 VSTO 載入宏的計算機。

另請參閱