在自定义窗体中指定窗体区域的位置

窗体区域是一个可添加到窗体中的自定义用户界面部分。 可以按照以下几种方式之一指定要在自定义窗体中显示的窗体区域。 为此,你将在相应的窗体区域清单 XML 文件中指定窗体区域 XML 架构的 formRegionTypedisplayAfter 元素。

在默认页上

可以按照几种方式在标准窗体的默认页上显示一个或多个窗体区域。

将窗体区域添加到默认页面

  • 在窗体区域清单 XML 文件中,将 adjoining 指定为 formRegionType 元素的值。

窗体区域将添加到原始标准窗体的默认页底部,并会在检查器或阅读窗格中显示。

例如,若要将某个窗体区域添加到标准邮件窗体的默认页底部,您可以在该窗体区域的窗体区域清单 XML 文件中指定以下内容:

<formRegionType>adjoining</formRegionType>

使用生成的自定义窗体显示与原始标准窗体相同的邮件类的项目,或者可以为自定义窗体分配派生邮件类,并使用自定义窗体仅显示派生邮件类的项。

将多个窗体区域添加到默认页面

  1. 在每个窗体区域的相应窗体区域清单 XML 文件中,将 adjoining 指定为 formRegionType 元素的值。

  2. 除了将显示为默认页上的第一个窗体区域的窗体区域之外,在其他任一窗体区域的相应窗体区域清单 XML 文件中,将在该窗体区域之前显示的窗体区域的内部名称指定为 displayAfter 元素的值。

使用生成的自定义窗体显示与原始标准窗体相同的邮件类的项目,或者可以为自定义窗体分配派生邮件类,并使用自定义窗体仅显示派生邮件类的项。

第一个窗体区域将添加到原始标准窗体的默认页面底部,其他窗体区域将按照你在相应的 displayAfter 元素中指定的顺序追加。

例如,如果要对内部名称 FormRegionA、FormRegionBFormRegionC 按顺序 A、B 和 C 显示的三个窗体区域 A、B 和 C 进行排序,请在 A 的窗体区域清单 XML 文件中指定以下内容:

<formRegionType>adjoining</formRegionType>

你将在 B 的窗体区域清单 XML 文件中指定以下内容:

<formRegionType>adjoining</formRegionType>
<displayAfter>FormRegionA</displayAfter>

你将在 C 的窗体区域清单 XML 文件中指定以下内容:

<formRegionType>adjoining</formRegionType>
<displayAfter>FormRegionB</displayAfter>

注意

使用 displayAfter 元素可以指定自定义窗体中多个相邻窗体区域的顺序。 不过,此顺序仅对于在本地计算机上第一次为用户显示窗体时有效。 用户可以选择通过以下方法更改相邻窗体区域的顺序:打开所需的窗体,然后通过窗体区域标题上下文菜单将窗体区域在默认页面中上移或下移。 Outlook 会对更新后的顺序进行缓存,并将缓存后的顺序应用于窗体的后续显示。

使用窗体区域“替换”整个默认页面

  1. 在窗体区域清单 XML 文件中,将 replace 指定为 formRegionType 元素的值。

  2. 在 Windows 注册表中的本地计算机注册表项 ( HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Outlook\FormRegions) 或当前用户注册表项 ( HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions) 下注册窗体区域时,将为此窗体区域的派生邮件类创建单独的注册表项。 添加一个 REG_SZ 类型的值,将窗体区域的内部名称指定为注册表项的名称,并将窗体区域清单 XML 文件的完整本地文件路径名称指定为该注册表项的数据。

When you are "replacing" the default page of a standard form, you are in reality using the standard form as a template and creating a new custom form that has your form region as the default page. 如果原始标准窗体包含其他窗体页或单独的窗体区域,它们将保留为自定义窗体的一部分。

必须将派生消息类分配给生成的自定义窗体,并使用窗体显示该邮件类的项。

例如,您创建了一个窗体区域,该窗体区域的内部名称为 CustomPage,并且窗体区域清单 XML 文件CustomPage.xml c:\Form Regions。 To use the form region to replace the default page of the standard Message form, you can specify the following in the form region manifest XML file of CustomPage:

<formRegionType>replace</formRegionType>

在 Windows 注册表中注册此窗体区域时,您不得指定原始标准窗体的邮件类 IPM.Note ,而应指定派生的邮件类,如 IPM.Note.CustomPage 。 对于此示例,你将通过创建密钥 IPM,在当前用户密钥 HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions下注册窗体区域 。Note.CustomPage。 然后,将 类型为 REG_SZ 的值,指定窗体区域的内部名称 CustomPage 作为键的名称,将窗体区域清单 XML 文件 c:\Form Regions\CustomPage.xml的完整本地文件路径名称指定为键的数据。

使用窗体区域“替换”整个标准窗体

  1. 在窗体区域清单 XML 文件中,将 replaceall 指定为 formRegionType 元素的值。

  2. 在 Windows 注册表中的本地计算机注册表项 ( HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Outlook\FormRegions) 或当前用户注册表项 ( HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions) 下注册窗体区域时,将为此窗体区域的派生邮件类创建单独的注册表项。 添加一个 REG_SZ 类型的值,将窗体区域的内部名称指定为注册表项的名称,并将窗体区域清单 XML 文件的完整本地文件路径名称指定为该注册表项的数据。

When you are "replacing" the entire standard form with a form region, you are in reality using the standard form as a template and creating a new custom form that has the form region as the default page. 如果原始标准窗体包含其他窗体页或单独的窗体区域,则它们不会保留为自定义窗体的一部分。

必须将派生消息类分配给生成的自定义窗体,并使用窗体显示该邮件类的项。

例如,已创建一个窗体区域,该窗体区域的内部名称为 CustomMessage,窗体区域清单 XML 文件CustomMessage.xml c:\Form Regions。 To use the standard Message form as the template for a new custom form that will contain CustomMessage as the default page, you can specify the following in the form region manifest XML file of CustomMessage:

<formRegionType>replaceall</formRegionType>

在 Windows 注册表中注册此窗体区域时,将指定派生的消息类,例如 IPM。Note.CustomMessage。 对于此示例,你将通过创建密钥 IPM,在当前用户密钥 HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions下注册窗体区域 。Note.CustomMessage。 然后,将 类型为 REG_SZ 的值,将窗体区域的内部名称 CustomMessage 指定为键的名称,将窗体区域清单 XML 文件 c:\Form Regions\CustomMessage.xml的完整本地文件路径名称指定为键的数据。

在“默认页面”以外的页面上

可以将一个或多个窗体区域作为单独的页添加到标准窗体中。

将窗体区域添加为单独的页面

  • 在窗体区域清单 XML 文件中,将 separate 指定为 formRegionType 元素的值。

窗体区域将作为紧跟原始标准窗体的所有现有页之后的一个单独页添加,并会在检查器中显示为独立页。

例如,若要将一个窗体区域作为一个单独页添加到标准联系人窗体中,您可以在该窗体区域的窗体区域清单 XML 文件中指定以下内容:

<formRegionType>separate</formRegionType>

该窗体区域将显示为紧跟标准联系人窗体的“所有字段”页后的单独页。

使用生成的自定义窗体显示与原始标准窗体相同的邮件类的项目,或者可以为自定义窗体分配派生邮件类,并使用自定义窗体仅显示派生邮件类的项。

将多个窗体区域添加为单独的页面

  1. 在每个窗体区域的相应窗体区域清单 XML 文件中,将 separate 指定为 formRegionType 元素的值。

  2. 除了将显示为自定义窗体中的第一个窗体区域的窗体区域之外,在其他任一窗体区域的相应窗体区域清单 XML 文件中,将在该窗体区域之前显示的窗体区域的内部名称指定为 displayAfter 元素的值。

使用生成的自定义窗体显示与原始标准窗体相同的邮件类的项目,或者可以为自定义窗体分配派生邮件类,并使用自定义窗体仅显示派生邮件类的项。

第一个窗体区域将添加为原始标准窗体的单独页,并将按照在相应的 displayAfter 元素中指定的顺序由其他窗体区域追加。

例如,如果要对内部名称 FormRegionA、FormRegionBFormRegionC 的三个单独的窗体区域 A、B 和 C 进行排序,则需在 A 的窗体区域清单 XML 文件中指定以下内容:

<formRegionType>separate</formRegionType>

你将在 B 的窗体区域清单 XML 文件中指定以下内容:

<formRegionType>separate</formRegionType>
<displayAfter>FormRegionA</displayAfter>

你将在 C 的窗体区域清单 XML 文件中指定以下内容:

<formRegionType>separate</formRegionType>
<displayAfter>FormRegionB</displayAfter>

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。