支援保持啟用增益集

Office 2013 和更新版本中的程式提供增益集復原功能,這表示如果增益集執行速度緩慢,應用程式將會停用增益集。 不過,您可以重新啟用增益集,並防止其他 Office 程式自動停用增益集。

防止停用增益集

雖然增益集停用功能不會停用大部分的增益集,但您不希望一致地停用增益集。

以下是改善增益集效能的一些建議:

  • 偏好使用原生 COM 增益集而不是 Managed 增益集,因為 Managed 增益集必須在 Outlook 啟動期間產生載入.NET Framework的額外負荷。

  • 如果您有長時間執行的工作,例如對資料庫進行昂貴的連線,請將這些工作延遲為在啟動後發生。

  • 可能的話,請在本機快取資料,而不是在檔案總管的 FolderSwitchBeforeFolderSwitch 事件期間進行昂貴的網路呼叫,或 是開 啟專案的事件。

  • 請注意,所有對 Outlook 物件模型的呼叫都會在 Outlook 的主要前景執行緒上執行。 盡可能避免長時間執行的 Outlook 物件模型呼叫。

  • 在 Outlook 2013 中,從背景執行緒呼叫 Outlook 物件模型時,對 Outlook 物件模型的呼叫會傳回E_RPC_WRONG_THREAD。

  • 輪詢是耗費資源的作業,因此一律偏好事件驅動模型,而不是輪詢。

注意事項

在下列情況下,您無法防止 Outlook 停用增益集:

  • 增益集損毀 Outlook。

  • 無法載入增益集。

在這些情況下,必須與增益集擁有者一起修正損毀或載入失敗的原因。

系統管理員對增益集的控制

使用者可以控制哪些增益集在其電腦上執行。 從 Office 2013 開始,系統管理員可以使用群組原則來設定增益集的增強控制層級。 群組原則一律會覆寫使用者設定,而且使用者無法變更群組原則 [受控增益集清單] 所設定加 載宏的載入宏設定。

針對 Outlook,下表說明登錄機碼和設定。

名稱 描述
機碼 Office 2013:
HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\15.0\Outlook\Resiliency\AddinList

Office 2016/2019/365:
HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\16.0\Outlook\Resiliency\AddinList
描述 此原則設定可讓您指定一律啟用、一律停用 (封鎖) 或使用者可設定的受控增益集清單。

注意:在這裡,「受控」一詞是指群組原則所處理的增益集,與以 Managed 程式設計語言開發的增益集無關。
字串 增益集的 ProgID
指定值,如下所示:
0 = 一律停用 (封鎖)
1 = 一律啟用
2 = 可由使用者設定,且未在啟用時由 [封鎖所有 Unmanaged 載入 宏] 原則設定封鎖。

注意事項

若要取得增益集的 ProgID,請在安裝增益集的用戶端電腦上使用 Windows 登錄編輯器。 複製找到的登錄機碼名稱:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\< application > \Addins 或 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\< application > \Addins。 登錄機碼名稱會 區分大小寫

  • 如果停用或未啟用此原則設定,則會刪除受控增益集清單。 如果已啟用 [封鎖所有非受控載入 宏] 原則設定,則會封鎖所有增益集。

  • Outlook 增益集停用功能永遠不會停用此原則所停用的增益集,因為基於效能、復原或可靠性原因而停用增益集。

  • 如果使用者選擇 [一律啟用此增益集],就會更新登錄,以包含要豁免來自自動停用功能之增益集的詳細資料。

名稱 描述
機碼 HKEY_CURRENT_USER\Software\Microsoft\Office\x.0\Outlook\Resiliency\DoNotDisableAddinList
描述 此金鑰可防止增益集停用功能停用您指定的增益集。
Dword 增益集的 ProgID
介於 1 和 A 之間的十六進位值,指出增益集最初停用的原因:
0x00000001開機載入 (LoadBehavior = 3)
0x00000002 LoadBehavior (需求載入 = 9)
0x00000003損毀
0x00000004處理 FolderSwitch 事件
0x00000005處理 BeforeFolderSwitch 事件
0x00000006專案開啟
0x00000007反覆運算計數
0x00000008關機
0x00000009當機,但未停用,因為增益集位於允許清單中
0x0000000A當機,但未停用,因為使用者在 [停用] 對話方塊中選取了 [否]

注意:x.0 預留位置代表 Office (16.0 = Office 2016/2019/365,15.0 = Office 2013) 的版本。

注意事項

如果您重新啟用一次造成效能問題的增益集,使用者未來可能會在載入增益集的 Office 程式中遇到效能問題。

若要封鎖不受此原則設定管理的增益集,您也必須設定 [封鎖所有未受管理的增益集] 原則設定。

另請參閱

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應