将窗体保存项目 (一次性窗体)

注意

此帮助主题介绍如何保存使用表单页自定义的表单;它不适用于使用窗体区域自定义的窗体。 使用窗体区域时,单击“窗体区域”,然后单击“保存窗体区域”以保存扩展名为 .ofs 的窗体区域布局文件,从而保存窗体区域的布局。 然后,必须创建窗体区域清单 XML 文件,并在 Windows 注册表中注册窗体区域。 有关详细信息,请参阅操作方法:创建窗体区域

使用窗体页自定义的窗体

使用自定义窗体在 Microsoft Outlook 中创建解决方案时,了解 Outlook 如何根据文件夹中的项目来使用自定义窗体非常重要。

例如,如果要创建一个自定义联系人窗体来替换默认的 Outlook 联系人窗体,通常应执行下列步骤:

  1. 从一个新的默认联系人项目开始,将其用作自定义窗体的基础。

  2. 根据需要修改窗体。

  3. 将该窗体发布到 "联系人" 文件夹中。

  4. 通过更改文件夹属性将该窗体设置为 "联系人" 文件夹的默认窗体。

在这种典型情况下,有关窗体的信息(窗体定义)不会与每个项目一同保存。 相反,窗体存储在其发布位置并可以使用 "邮件类" 字段来引用它。 这样,每个项目就只存储与其相关的数据,因此其大小相对较小。

但是,也可以将 Outlook 设置为将窗体定义存储在文件夹的各个项目中。 这些项目称为一次性项目并始终使用项目中存储的窗体定义,而非发布窗体中存储的窗体定义。

在大多数情况下,不应将窗体定义存储在项目中。 最常见的例外是自定义电子邮件窗体。 如果使用Microsoft Exchange Server,则可以将自定义电子邮件表单发布到组织表单库,以便始终可供组织中的每个人使用。 这样,就不必在项中存储表单定义。

如果不使用Exchange Server,或者如果要将表单发送到其他组织,而该窗体不可用,请在设计模式下选中窗体的“属性”页上的“使用项目发送表单定义”复选框。 根据安全限制,这可能使收件人能够使用自定义表单查看电子邮件。

注意

如果收件人仍无法查看自定义表单,请确保自定义或禁用了自定义电子邮件表单的 “阅读 ”页。

如果自定义窗体中包含 Microsoft Visual Basic Scripting Edition (VBScript),Outlook 将显示宏病毒警告,除非将该窗体发布到 Exchange Server 企业窗体库中。

下列情形通常会导致项目变成一次性项目。

  • 您有一个基于文件夹的解决方案,其中窗体在文件夹中发布,而项目使用已发布的窗体。 您打开文件夹中的一个现有项目,并在设计模式下对此窗体进行更改,然后保存该项目。

    由于窗体定义已改变而窗体没有重新发布,因此,Outlook 将新的窗体定义与项目一起保存。 若要更改文件夹中所有项目的窗体,而不是打开现有项目,请执行以下步骤:

    1. 基于您的自定义窗体打开一个新项目。

    2. 更改此项目的窗体设计。

    3. 使用相同名称重新发布此窗体。

    4. 关闭,不保存对项所做的更改。

    下次打开项目时,文件夹中的所有项目都将使用更新的自定义窗体,因为项目的邮件类仍引用已发布的表单。

  • 自定义窗体中的 VBScript 代码更改了项目的窗体定义。

    如果项目中的 VBScript 代码通过编程方式更改了窗体,则多数情况下,其结果是窗体定义与项目一同保存。 下列 Outlook 对象模型方法最常造成此行为:

    • UserProperties.Add 方法。

    • FormDescription 对象的方法和属性。

    • 控件的某些方法或属性,如 Enabled

    • Actions 集合对象的方法和属性

虽然各种解决方案和情况差异很大,但以下征兆可能表明项目已变成一次性项目。

  • 窗体中的 VBScript 代码没有运行,或者意外出现宏病毒警告,这都表明项目自身而不仅仅是发布的窗体中包含 VBScript 代码。

  • 项目大小意外增长。

  • 项目图标意外更改。

支持和反馈

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