在 Windows 登錄中指定表單區域
若要在用戶端電腦上執行包含表單區域的表單,您必須在 Windows 登錄中註冊表單區域,並指定訊息類別和 Microsoft Outlook 顯示表單區域所需的其他資訊。 此資訊包括顯示名稱、表單區域出現在表單中的位置、實作表單區域的任何配置檔案或增益集、任何支援的使用者動作,以及使用者介面的任何當地語系化字詞。 此資訊的結構會遵循表單區域 XML 架構;如需表單區域之 XML 架構的詳細資訊,請參閱MSDN Library 中的 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。Meeting.Schedule.Request |
郵件 | Ipm。注意 |
Post | IPM.Post |
工作 | Ipm。請求 |
工作要求 | Ipm。任務 |
注意 您無法指定根 Outlook 郵件類別 IPM的表單區域。
您可以新增分隔表單區域做為標準表單的額外頁面,但不能取代標準表單上的任何現有頁面,以及為相同的 Outlook 郵件類別保留表單。 如果您需要取代預設頁面或標準表單的所有頁面,您必須為該表單衍生新的訊息類別、指定取代表單區域來取代預設頁面或取代所有表單區域來取代整個表單,並註冊衍生郵件類別的表單區域。
例如,您可以建立替代表單區域來取代 [連絡人] 表單的 [一般] 頁面,並針對衍生自 IPM.Contact 的郵件類別 (例如 IPM.Contact.MyContact ) 登錄該表單區域。 不過,您不能登錄 IPM.Contact 郵件類別的表單區域。
當 Outlook 開啟專案,並看到衍生訊息類別 (例如 IPM。Contact.MyContact.Personal.Family) ,它會尋找取代或全部取代表單區域 (,也就是 formRegionType 元素等於 replace 或 replaceAll) ,且完全符合衍生郵件類別 IPM 的表單區域 。Contact.MyContact.Personal.Family。 如果找不到相符者,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 |
名稱 | MapTab |
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 支援與意見反應。