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。
載入受控載入宏的方式
當應用程式啟動時,會執行下列步驟:
應用程式會在下列登錄機碼底下尋找項目,以探索 VSTO 增益集:
HKEY_CURRENT_USER\Software\Microsoft\Office\<application name>\Addins\
這個登錄機碼下的每個項目都是 VSTO 增益集的唯一識別碼。 通常這會是 VSTO 增益集組件的名稱。
應用程式會在每個 VSTO 增益集的項目底下尋找
Manifest
項目。受控 VSTO 載入宏可以將指令清單的完整路徑儲存在
Manifest
專案HKEY_CURRENT_USER\Software\Microsoft\Office\<application name>\Addins\addins\<add-in 標識符>下。 資訊清單是一種檔案 (通常是 XML 檔案),可提供協助載入 VSTO 增益集的資訊。如果應用程式找到
Manifest
項目,則會嘗試載入 Managed VSTO 增益集載入器元件。 應用程式會嘗試建立實作 IManagedAddin 介面的 COM 物件來執行此動作。Visual Studio Tools for Office 運行時間包含 VSTO 載入宏載入器元件 (VSTOLoader.dll),或者您可以實作 IManagedAddin 介面來建立自己的元件。
應用程式會呼叫 IManagedAddin::Load 方法,並傳入
Manifest
項目的值。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 載入宏的計算機。