若要在用戶端電腦上執行包含表單區域的表單,您必須在 Windows 登錄檔中註冊該表單區域,並指定訊息類別及其他 Microsoft Outlook 顯示表單區域所需的資訊。 這些資訊包括顯示名稱、表單區域在表單中出現的位置、任何實作該表單區域的版面檔案或外掛、任何支援的使用者操作,以及使用者介面的在地化術語。 此資訊的結構遵循表單區域的 XML 架構;欲了解更多表單區域的 XML 結構資訊,請參閱 MSDN 函式庫中的 Microsoft Outlook 2010 XML 結構參考。
在系統登錄中有幾種方式可以指定表單區域的相關資訊。 您可以明確指定包含表單區域資訊的 XML,或是 XML 檔的完整路徑,這必須符合表單區域 XML 結構描述。 你也可以選擇指定外掛的 ProgID,該外掛會提供 Outlook 表單區域的 XML 清單。 當 Outlook 啟動時,它會從登錄中讀取表單區域的清單,並快取相關聯的資料。
小心 錯誤編輯 Windows 登錄檔可能會嚴重損壞你的系統。 在變更登錄之前,您應該先備份電腦上所有的重要資料。
登錄表單區域
在 Windows 登錄檔的 FormRegions 鍵下登錄表單區域,或在本地機器鍵 (登錄為 HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Outlook\FormRegions) ,或在目前使用者鍵 (登錄為 HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions) 。 在 FormRegions 機碼底下,為表單區域所屬的各個郵件類別建立個別的機碼。 以郵件類別為 IPM.Note 的郵件項目為例,您可以將用於顯示目前使用者郵件項目的所有表單區域登錄至機碼 HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions\IPM.Note 。
下列步驟說明如何在本機電腦下登錄表單區域:
- 關閉 Outlook。
- 如果下列機碼不存在,將其新增至登錄中: HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Outlook\FormRegions 。
- 在 FormRegions 機碼下,使用與表單區域相關之郵件類別的名稱來新增機碼 (如果此機碼尚不存在)。 例如,若要為連絡人項目建立表單區域,請新增名稱為 IPM.Contact 的機碼 (當其不存在時)。
- 針對該機碼,新增類型 REG_SZ 的值,並指定與表單區域之 name 元素相同的名稱。 這是表單區域的內部名稱;內部名稱只支援 ASCII 字元。 請以下列其中一個可能值指定此資料:
- 明確指定表單區域之版面配置、行為及其他性質的 XML,以及符合表單區域 XML 結構描述的 XML。 在此情況下,您必須在資料之前加上小於符號 (<)。
- 將提供表單區域之 XML 資訊清單給 Outlook 之增益集的 ProgID。 在此情況下,您必須在資料之前加上等於符號 (=)。 例如,如果增益集的 ProgID 是 MyAddinProject1.ConnectClass,您應該會將此機碼的資料指定為 =MyAddinProject1.ConnectClass。
- The full local file path name to a form region XML manifest file that describes the layout, behavior, and other characteristics of the form region. 如果資料的前面沒有加上小於符號 (<) 或等於符號 (=),則 Outlook 會假設該資料為表單區域 XML 資訊清單檔的路徑名稱。 例如,如果您的表單區域 XML 清單檔 map.xml 位於 c:\Form Regions,則會指定該金鑰的資料為 c:\Form Regions\map.xml。
將表單區域指定為標準表單的替代表單區域
Outlook 允許您藉由在表單中新增相鄰表單區域或分隔表單區域,為各個 Outlook 郵件類別自訂標準表單。 下表顯示標準表單以及 Outlook 中對應的郵件類別。
| 標準表單 | 郵件類別 |
|---|---|
| 約會 | IPM。約會 |
| 連絡人 | IPM。㨟 |
| 日誌項目 | IPM。活動 |
| 會議邀請 | IPM。會議。行程。請求 |
| 郵件 | IPM。便條 |
| Post | IPM.Post |
| 工作 | IPM。求 |
| 工作要求 | IPM。工作 |
便條 你無法為根 Outlook 訊息類別 IPM 指定表單區域。
您可以新增分隔表單區域做為標準表單的額外頁面,但不能取代標準表單上的任何現有頁面,以及為相同的 Outlook 郵件類別保留表單。 如果你需要替換標準表單的預設頁面或全部頁面,你必須為該表單產生一個新的訊息類別,指定一個替換表單區域來取代預設頁面,或一個全部替換表單區域來替換整個表單,並註冊該表單區域作為衍生訊息類別。
例如,您可以建立替代表單區域來取代 [連絡人] 表單的 [一般] 頁面,並針對衍生自 IPM.Contact 的郵件類別 (例如 IPM.Contact.MyContact ) 登錄該表單區域。 不過,您不能登錄 IPM.Contact 郵件類別的表單區域。
當 Outlook 打開一個項目並看到衍生訊息類別,例如 (IPM,Contact.MyContact.Personal.Family) ,它尋找一個替換或全部替換表單區域, (即一個表單區域,該表單區域的 formRegionType 元素等於替 換 或 替換所有) ,且與派生訊息類別 IPM 完全匹配。聯絡。我的聯絡人。個人。家人。 如果找不到相符者,Outlook 會嘗試使用 IPM.Contact.MyContact.Personal ,如果仍然失敗,Outlook 就會嘗試使用 IPM.Contact.MyContact 。 請注意,Outlook 會略過 IPM.Contact 的任何替代或全部取代表單區域。 如果尚未發現完全相符者,Outlook 會針對衍生類別 IPM.Contact.MyContact.Personal.Family 尋找 formRegionType 等於 adjoining 或 separate 的任何表單區域。
相同郵件類別的多重表單區域
當一個或多個增益集登錄相同郵件類別的多個表單區域時,相鄰表單區域在預設頁面上的顯示順序及表單中分隔表單區域的順序,主要取決於增益集的安裝順序,以及增益集登錄表單區域的順序。 如果增益集為郵件類別指定了一個以上的相鄰表單區域,或是一個以上的分隔表單區域,增益集就可以使用 displayAfter 元素來指定這些表單區域的順序。 displayAfter 所指定的順序將優先於表單區域在登錄中的順序。 這是增益集唯一能在表單中指定表單區域順序的方法。
當表單區域安裝至用戶端電腦後,表單使用者可藉由開啟表單,並且透過表單區域標題快顯功能表來上移或下移預設頁面,進一步自訂相連表單區域的順序。
範例
下列範例是衍生郵件類別 IPM.Contact.MapUser 之表單區域的 XML。 該表單區域會套用至電腦上的所有使用者。 XML 檔 map.xml 位於 c:\Form Regions 中。
要註冊表單區域,請在 Windows 登錄檔建立以下值:
| 登錄值 | Entry |
|---|---|
| 機碼 | HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Outlook\FormRegions\IPM.Contact.MapUser |
| 名稱 | 地圖標籤 |
| Type | REG_SZ |
| 資料 | c:\form Regions\map.xml |
以下列出 map.xml 的內容:
<?xml version="1.0"?>
<FormRegion xmlns="https://schemas.microsoft.com/office/outlook/12/formregion.xsd">
<!-- Internal name -->
<name>MapTab</name>
<!-- Display name -->
<title>Directions</title>
<!-- Additive separate form region -->
<formRegionType>separate</formRegionType>
<!-- Layout file -->
<layoutFile>Map.ofs</layoutFile>
<!-- Icon for form region in all contexts -->
<icons>
<default>generic.ico</default>
</icons>
</FormRegion>
表單區域已新增至表單中,做為跟在 [連絡人] 表單中最後一個非隱藏內建頁面之後的頁面 (通常是接在 [所有欄位] 頁面之後)。 此頁面的標題是 [方向],並且具有內部程式設計名稱 "MapTab"。 Map.xml 會指定一個版面配置檔以及一個圖示檔。 請注意,xml 檔案中的所有檔案路徑都可以指定為完整的檔案路徑,或是指定為表單區域 XML 資訊清單檔所在位置的相對路徑。
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。