OL2000: 使用窗体定义和一次性窗体

文章翻译 文章翻译
文章编号: 207896 - 查看本文应用于的产品
本文已归档。它按“原样”提供,并且不再更新。
展开全部 | 关闭全部

本文内容

概要

本文讨论了如何自定义窗体在 Outlook 中实现的并提供了当您创建一个 Outlook 窗体所基于的解决方案时,您可能会遇到的建议解决意外的症状的。

更多信息

: 在整个这篇文章中有是一个重要的区别之间术语、"项"和"窗体。项目引用的文件夹中的信息 (一组字段) 的"记录"。窗体本质上是"用户界面"项,并通常不包含任何数据。而是,则将使用的文件夹或窗体库中发布与文件夹中的项目。

您使用 Outlook 中创建自定义窗体解决方案时,能够识别 Outlook 如何在一个文件夹中使用自定义窗体相对于该项目,请务必。

"典型"的自定义表单解决方案

如果您想要创建自定义联系人窗体来替换默认的 Outlook 联系人窗体,您通常会请按照下列步骤操作:
    • 新,默认值开始,作为您的自定义窗体的基础的联系人窗体。
    • 自定义窗体,以满足您的需要。
    • 将窗体发布到联系人文件夹中。
    • 通过更改文件夹属性设置为默认的窗体的联系人文件夹的窗体。
Outlook 中的每个项目都有一个标准 邮件类 字段应使用哪一窗体来显示项跟踪的。联系人的默认邮件类是 IPM.Contact 和邮件类时窗体发布发生改变以反映已发布的窗体的名称。因此,在前面的步骤中,如果窗体被称为 MyForm 时发布后它将具有 IPM.Contact.MyForm 的邮件类。您在创建基于已发布的窗体的一个新项目时该项目的 邮件类 字段设置为 IPM.Contact.MyForm。

有关使用邮件类的详细信息请参阅 Microsoft 知识库中下面的文章:
201087 OL2000: 如何更新现有的项目,以使用新的自定义窗体

one-Off 窗体

在上面的典型方案,在窗体 (窗体定义) 的信息不会保存每个项目。在窗体是从根本上说"链接"使用 邮件类 字段。典型的大小可能是项目的 300 或 500 个字节。

: 有关的术语"链接窗体"到此项目使用的简便性目的指示在其中窗体定义不会被保存在项目和 邮件类 字段设置为使用自定义窗体的情况。

但是,很可能有窗体定义与项目一起保存。 具有自定义窗体定义存储在它们中的项目被称为被"one-offed"或"一个一次性。

one-offed 窗体时它可能会使用存储的窗体定义与项目的已发布的窗体而不是。如果窗体定义保存在一个项目项的 邮件类 会返回到该窗体类型如 IPM.Contact 默认邮件类。

标准方法窗体成为 One-Offs

您可以指定窗体通过单击以选中"与窗体定义一同保存"复选框,在设计模式中的窗体的 属性 页上是一个一次性。您可以通常完成这一操作时,收件人都有权访问它的窗体库中没有注册该窗体。选择此选项可确保当打开项目时,此人都将看到自定义窗体。

项目 One-Offed 意外

假设您有一个链接窗体方案,并且您有 10 项已创建使用您已发布的自定义窗体。如果您打开一个项目,并以某种方式更改窗体定义了一个特定项 Outlook 自动可能一次性项目 (创建一次性窗体),并将窗体定义一同保存该项目。邮件类 字段可能会更改回默认邮件类的类型的项目,和项目的大小明显增加。

下面是已知的项可以是意外 one-offed 的方案。

  • 是一个典型的链接窗体方案中打开文件夹中的现有项,对该窗体在设计模式中所做的更改和保存或发送项目。

    如果要为所有文件夹,而不是打开现有项目中的项目都更改窗体,请按照下列步骤操作:

    1. 打开基于您的自定义窗体的新项目。
    2. 对该项目的窗体设计更改。
    3. 使用该项目重新发布该窗体,使用相同的名称。
    4. 关闭并不会将更改保存到该项目。
    文件夹中项目的所有现在可以使用更新后的自定义窗体打开该项目,因为 邮件类 仍然引用同一已发布的窗体的下一次。更改窗体后打开一个项目的第一次短暂,Outlook 可能会显示一条消息,指示正在 (复制到窗体高速缓存) 安装新的窗体。
  • 您使用自定义窗体中的 Microsoft Visual Basic 脚本版 (VBScript) 代码,并使用某些方法或导致若要更改的项目的窗体定义的命令。下面的方法通常会导致此行为:

    • 方法存在的 FormDescription 对象。
    • 通常用于启用或禁用控件或使它们隐藏/显示这样的控件的属性相关的方法。
    • 操作 对象相关的方法。

    : 在早期版本的 Outlook 中,ShowFormPageHideFormPage 方法导致一次性项目。这不会再出现在 Outlook 2000 中。有关此更改的详细信息,请参阅 Microsoft 知识库中下面的文章:
    218618 OL2000: ShowFormPage、 HideFormPage 不再创建一次性项目
  • 在文件夹中创建用于字段,但字段中实际中不存在该项目时发布该窗体。在这种情况下如果您创建基于自定义窗体的新项,并使用 Outlook 单元格内编辑功能以将值输入到表格视图中的项,Outlook 会自动添加用户定义的字段到该项目上动态。这将更改窗体定义,因此 one-offed 该项目。 有关使用用户定义的字段,在解决方案中的其他信息,请参阅 Microsoft 知识库中下面的文章:
    201438 OL2000: 使用解决方案中的用户定义字段

典型的症状

尽管解决方案和环境变化很大,有一些要注意的迹象可能表明窗体变得越来越 one-offed。

  • 打开项目时意外地显示宏病毒警告。一次性窗体是 Outlook 中,如果窗体包含 VBScript 代码,则显示该启用/禁用安全警告的常见原因。因为代码不在已发布或受信任的表单,但实际上在项目本身 Outlook 可能始终显示该警告。理想情况下,您应该避免导致窗体,以在第一个位置被 one-offed 的方案。

    关于安全警告的详细信息,请参阅 Microsoft 知识库中下面的文章:
    207913 OL2000: 打开项目时,Outlook 会显示安全警告消息的原因
  • 一个项目的大小意外增加。
  • 项目图标意外,更改通常表示邮件类的字段中的更改。

标识一个一次性的项目

如果项目是意外 one-offed,并且然后您注意到"与窗体定义一同保存"复选框未选中的并不意味着窗体定义不与项目一起保存。

项目是项目的一个一次性,如果其 邮件类 字段是项目的默认邮件类的类型,但当项目打开时用来显示项目窗体是项目的一个自定义窗体。

在开发一个基于文件夹的解决方案时您可能希望在表格视图显示 邮件类大小 字段,以便您可以确保按照您预期的那样文件夹中的项目的方式运行。此外,更改项目的图标通常指示状态的更改,但您应该重新启动 Outlook,以确保正在显示适当的图标。

重现问题的步骤

Microsoft 提供的编程示例只,用于说明不附带任何明示或暗示保证,其中包括但不是限于对适销性和/或针对特定用途的适用性的暗示的担保。本文假定您熟悉所演示的编程语言和工具用于创建和调试过程。Microsoft 支持专业人员可以帮助解释某个特定过程的功能,但他们不会修改这些示例以提供额外的功能或构建过程来满足您特定需要。
如果有限编程体验您可能需要联系 Microsoft 认证合作伙伴或 Microsoft 咨询服务。有关更多的信息请访问以下 Microsoft 网站:

Microsoft 认证合作伙伴-https://partner.microsoft.com/global/30000104

Microsoft 咨询服务-http://support.microsoft.com/gp/advisoryservice

有关可用的支持选项和有关如何与 Microsoft 联系的详细信息,请访问下面的 Microsoft 网站: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS下面的步骤说明如何通过添加一个用户定义的字段的项目可以创建一次性窗体。
  1. 打开一封新邮件。
  2. 工具 菜单上单击 窗体,然后单击 设计该窗体
  3. 使用控件工具箱向 P.2 页中添加一个 命令按钮
  4. 窗体 菜单上单击 查看代码。将下面的 VBScript 代码添加到 VBScript 编辑器,然后关闭该编辑器:
    Sub CommandButton1_click()
       ' This changes the form definition by adding a text field.
       Set MyProp = Item.UserProperties.Add("MyField",1)
       ' Send the item
       Item.Send
    End Sub
    					
  5. 工具 菜单上单击 将窗体发布为,然后将窗体发布为"form1"的收件箱中
  6. 当系统提示您启用"与窗体定义一同保存"选项,单击 。关闭并不会将更改保存到窗体。
  7. 操作 菜单上单击 新建 Form1 打开基于窗体上一个项目。
  8. 给您自己解决它。
  9. 使用 命令按钮P.2 中发送该邮件。
  10. 当您收到消息时,打开它读取它。
请注意将出现宏警告消息。此外,项目的大小是相对较大 (大约 6 K)。

解决方法

如果希望有一种情况,其中一项可能会成为一个一次性您可以通过重置邮件类的字段,然后将项目保存在代码中来解决一次性项目的副作用。作为一个的示例使用下面的代码,而不是在"步骤来重现问题"一节和项在上面给出该代码可能不能启用宏的警告消息。
Sub CommandButton1_click()
   ' Save the MessageClass property
   sSaveMessageClass = Item.MessageClass

   ' This changes the form definition
   Set MyProp = Item.Userproperties.Add("MyField", 1)

   ' Restore the MessageClass property
   Item.MessageClass = sSaveMessageClass

   ' Save the changes to the form
   Item.Save

   ' Send the item
   Item.Send

End Sub
				
: 如果您以编程方式更改项目的邮件类,不减小项目的大小。没有要真正从而不创建新的项目没有窗体定义,并将数据从旧的项复制到新项目中删除不需要的窗体定义的方法。

参考

有关可用资源和 Microsoft Outlook 2000 解决方案有关的常见问题的答案的其他信息,请参阅 Microsoft 知识库中下面的文章:
146636 OL2000: 有关自定义窗体和 Outlook 解决方案的问题

属性

文章编号: 207896 - 最后修改: 2013年10月11日 - 修订: 3.3
这篇文章中的信息适用于:
  • Microsoft Outlook 2000
关键字:?
kbnosurvey kbarchive kbmt kbinfo KB207896 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 207896
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com