Outlook 2007 如何使用窗体缓存以及如何解决窗体缓存问题

文章编号: 919596 - 查看本文应用于的产品
展开全部 | 关闭全部

概要

本文介绍方法, Microsoft Office Outlook 2007 查找表单, 所在窗体缓存、 如何更改, 窗体缓存的大小以及如何使用 ForceFormReload 注册表项。 本文还介绍与 Outlook 窗体缓存可能出现的一些问题。 最后, 本文介绍如何解决这些问题。

INTRODUCTION

本文介绍 Outlook 窗体缓存。 本文还介绍 Outlook 2007 中可能发生的各种表单缓存问题。

注意 : Outlook 窗体缓存用于表单, 是设计与 Outlook 2003 或早期版本和通常发布到表单库。 Outlook 2007 还使您能够设计表单用于 Outlook 2003 和早期版本。 与早期版本中使用窗体缓存是在此方案, 以相同的方式使用窗体缓存。 但是, Outlook 2007 不使用窗体缓存随着新表单区域功能 Outlook 2007 只使用窗体缓存方案涉及自定义邮件类中。 如果您正在开发新窗体用于 Outlook 2007, 我们建议您使用新表单区域功能。

Outlook 将存储自定义表单的本地副本, 这样就不必从磁盘检索窗体每次打开项目时, Outlook 在高速缓存。 当窗体存储在 MicrosoftExchange 公用文件夹或, ExchangeServer 计算机上组织表单库中 Outlook 可以使用窗体缓存版本。 这有助于提高性能和 ExchangeServer 计算机上本地计算机上。

以窗体可能出现问题。 如果您打开文件夹中新项目或现有项目通常会发生这些问题。 您可能会收到以下错误信息之一:
  • 消息 1
    无法显示所选窗体。. 请与管理员联系。
  • 邮件 2
    无法显示窗体需要查看此邮件。 请与管理员联系。
有时, Outlook 不显示错误消息。 而, Outlook 可能打开默认形式而的自定义表单。

Outlook 如何查找表单

本节介绍 Outlook 如何定位打开项目时所需窗体。 邮件类 字段的项是先创建使用自定义表单, 项目时设置到窗体的名称。 例如, 如果您有自定义任务表单, 名为 " 公司 ", 自定义任务文件夹中邮件类是 IPM.Task.Corporate 。

当您打开项目, Outlook 检查 邮件类 字段以查看哪些表单必须使用 Outlook 来显示项目。 Outlook 然后搜索需要窗。 Outlook 在下列位置以下列顺序查找:
  • 内存

    如果您同时拥有打开其他项目使用同一窗体, 都内存中 Outlook 已有窗体。 Outlook 使用该窗体的副本代替 re-loading 窗体。
  • 窗体缓存

    Outlook 检查窗体缓存以查看您是否使用表单之前在计算机上。 如果在缓存, Outlook 查找表单 Outlook 从缓存加载窗体。
  • 当前文件夹

    如果 Outlook 找不到窗体缓存, 中 Outlook 检查以查看窗体是否已发布到当前文件夹。 Outlook 不搜索其他文件夹。 这包括父文件夹。 Outlook 存储表单是作为隐藏项发布到文件夹。 任何 Outlook 视图中无法看到这些项目。
  • 个人窗体库

    如果 Outlook 找不到窗体保存到当前文件夹, Outlook 检查个人窗体库。 个人窗体库顶层文件夹是默认邮件存储中存在。 默认邮件存储是包含收件箱文件夹接收传入邮件夹系列。
  • 组织表单库

    如果个人表单库, 窗体处于可用并且正在使用 MicrosoftExchangeServer 计算机被配置为支持组织表单库, Outlook 然后检查 MicrosoftExchangeServer 计算机上组织表单库。

定位窗体缓存

窗体缓存是存储在硬盘驱动器上一个隐藏文件夹。 因此, Windows 显示隐藏文件和系统文件必须更改设置。 根据版本, 您使用的步骤有所不同。 您可能在以下文件夹中找到窗体缓存:
  • MicrosoftWindowsXP
    C:\Documents and Settings\ name \Local Settings\Application Data\Microsoft\FORMS
  • WindowsVista
    C:\Users\ name \AppData\Local\Microsoft\FORMS
由于 Outlook 2007 支持漫游用户, 窗体缓存位置可能更改。 表单缓存位置依赖于哪些用户当前登录到计算机。 无法配置用户设置以指示所在窗体缓存。 因此, 您无法直接更改到默认位置以外位置的窗体缓存位置。

了解窗体缓存构架

要点 此部分, 方法或任务包含步骤告诉您如何修改注册表。 但是, 如果修改注册表错误可能发生严重问题。 因此, 确保仔细执行这些步骤。 用于添加保护之前, 修改备份注册表。 然后, 在发生问题时还原注册表。 有关如何备份和还原注册表, 请单击下列文章编号以查看 Microsoft 知识库中相应:
322756 如何备份和还原在 Windows 注册表


表单缓存包含 Frmcache.dat 文件。 Frmcache.dat 文件包含汇总信息和指向同时 Outlook 默认窗体和任何自定义表单, 使用。 自定义表单的缓存副本位于窗体文件夹的子文件夹。

窗体文件夹的子文件夹具有随机名称。 但是, 子文件夹名称类似窗体名称。 cryptically 命名实际形式存储在这些文件夹中。 但是表单具有 .tmp 文件扩展名。 如果您不知道包含特定窗体, 份文件夹可用于时间戳的目标文件夹或窗体的时间戳帮助您定位窗体。

Outlook 还存储注册表项对应于自定义表单已被缓存。 注册表项位于以下位置:
HKEY_CURRENT_USER\Software\Classes\CLSID
在 Outlook 2002 和更早版本, Outlook 不不跟踪的缓存表单时表单来源位置。 例如, 假设有两种不同的形式发布两个不同文件夹, 中并且两个表单具有相同名称。 如果访问第一个文件夹, Outlook 缓存窗文件夹中。 然后, 如果访问第二个文件夹, Outlook 仍使用缓存表单首文件夹中。 Outlook 不使用与第二个文件夹处于窗体。 以便使用表单时不会发生冲突因此, 每个表单名称或 邮件类 字段必须唯一。 此自发布 Microsoft Outlook 97 以来已窗体缓存设计。

窗体缓存有关 Outlook 2003 和 Outlook 2007 使用不同的设计。 关于文件夹和表单库信息也被缓存。 安全相关问题领导要设计更改。 例如, 可能有十 Outlook 2003 中不同文件夹。 您可能将每个这些 10 文件夹中发布具有相同名称窗体。 在早期版本的 Outlook, 表单已缓存一次, Outlook 由于所有窗体具有相同名称然后从本地表单缓存用同一窗体每次。 但是, 2007 Outlook 缓存窗体从每个文件夹。

由于设计, 中此更改的建议, 您将表单发布到个人窗体库而不是到文件夹。 如果删除基于自定义表单, 一个项, 然后您打开项已删除邮件 " 文件夹, 中 Outlook 无法找到自定义表单。 而, Outlook 使用默认窗体。 如果窗体发布到个人窗体库, 您可以避免此问题。

理解并更改窗体缓存大小

默认情况下, Outlook 将限制为 2048 KB 对窗体缓存是最大值。 若要更改此设置, 请按照下列步骤:
  1. 在 工具 菜单上, 单击 选项 。
  2. 单击 其他 选项卡, 然后单击 高级选项 。
  3. 单击 自定义表单 。 硬盘上最大空间 , 下键入一个数字, 不能大于 2048, 然后单击 确定 。
到达大磁盘空间, 用于窗体缓存, 您设置后 Outlook 清除从缓存中未使用旧窗体。

Outlook 将 注意 存放窗体缓存的大小在 Frmcache.dat 文件。 的 Frmcache.dat 文件格式为无出处。 不支持对 Frmcache.dat 文件直接修改。 因此, 不能通过编程更改窗体缓存的大小。 除非这些更改是由 Microsoft 记录或者由 Microsoft 产品支持服务进行疑难解答仅建议 Microsoft 不支持对窗体文件夹直接修改到任何部分的内容。 修改的窗体文件夹, 内容之前必须首先将备份副本。

恢复该意外删除表单

如果您意外删除发布表单, 并文件夹, 从, 发布窗体中不能恢复该表单可能能够从窗体缓存恢复窗体的副本。

有关如何从窗体缓存, 恢复表单请单击下列文章编号以查看 Microsoft 知识库中相应:
292494 从缓存副本还原 Outlook 表单 OL 2002:

解决窗体缓存

如果窗体缓存不似乎被正常, 或如果打开项目时有问题或者当您打开自定义表单, 其他因素可能造成意外行为。 删除窗体缓存之前使用下列疑难解答方法。
  • 方法 1: 验证该项目使用一次性窗体

    您可以发布位置中而不是一个项目中存储窗体定义。 如果项目, 中存储窗体定义和, 然后打开项目, 总是存储在项目中窗体, 使用窗体。 如果您更改窗体, 发布版本一次性项目继续以使用旧版本是该项目中存储窗体。 这似乎是与窗体缓存问题。 但这是一次性项目原理。

    表单定义存储在项目中可能导致意外行为。 它可能使您以正确 presume, 与窗体缓存问题。

    请有关如何一次性项目函数, 单击下列文章编号, 以查看相应 Microsoft 知识库文章中:
    290657 对窗体定义和一次性窗体在 Outlook 2002 说明
  • 方法 2: 验证是否不内存相关问题

    Outlook 可能不释放窗体从内存。 此问题可能与您自定义表单中实施 Visual Basic Scripting Edition 代码方式相关。 如果没有 Outlook 不卸载窗体从内存, 可能需要退出并重新启动 Outlook。 这从内存删除窗体并强制 Outlook 以加载窗体从缓存、 从窗体库, 或文件夹中。

    您必须验证, 退出 Outlook。 可使用 Microsoft Windows 任务管理器确认 Outlook 没有运行。 但是, 建议, 内存中重新启动计算机以确保问题, 是与东西无关发生。

    如果 Outlook 不退出, 可能是于窗体缓存问题原因。 如果表单包含 Visual Basic Scripting Edition 代码, 尝试确定是否表单中某些禁止 Outlook 退出。 还, 禁用任何 COM 加载项或任何非标准 MicrosoftExchange 扩展。 这些之一可能有助于问题。

清除窗体缓存

还有其他方法来清除 Outlook 窗体缓存。 每种方法有优点和缺点。 我们建议您使用方法 1。
  • 方法 1

    使用 Clear 缓存 方法。 要这样做, 请按照下列步骤操作:
    1. 在 工具 菜单上, 选项 , 依次 其他 选项卡。
    2. 单击 高级选项 。
    3. 在 高级选项 框中, 单击 自定义表单 。
    4. 在 自定义窗体 框中, 单击 管理表单 。
    5. 在 窗体管理器 框中, 单击 清除缓存 。
  • 方法 2

    手动重或手动删除缓存可能导致问题的特定组件。 例如, 如果有问题与特定表单, 可启动通过删除对该窗体缓存相应文件夹。 建议如果您是高级用户, 您只能使用此方法。
  • 方法 3

    重命名 Frmcache.dat 文件。 不这样作为您初次尝试解决问题以表单因为 Frmcache.dat 文件可能包含其他形式信息。 可以重但是, 如果将其他工作来清除窗体缓存是不成功, 命名 Frmcache.dat 文件。 Frmcache.dat 文件, 重命名后重新启动 Outlook。
  • 方法 4

    调查注册表项。 注册表项位于以下位置:
    HKEY_CURRENT_USER\Software\Classes\CLSID
    通常, 注册表项不播放表单中一个角色缓存问题。 但他们执行包含缓存表单信息。 如果所有其他努力以更正问题表单都不成功, 您可以验证该注册表的这部分包含有关表单信息。 您可删除有关表单, 信息并重新启动 Outlook。

使用 ForceFormReload 注册表项

当窗体缓存似乎间歇性, 导致问题和您无法确定对问题原因, 您可以设置
ForceFormReload
在 Outlook 注册表项。 当
ForceFormReload
注册表项已启用, Outlook Outlook 打开基于自定义表单的项目时遇到错误, Outlook 自动清除缓存用于此特定表单。 然后, Outlook 尝试再次打开项目。 尽管此方法不能更正原因是窗体缓存问题, 此方法不将问题透明化他人使用自定义表单。

要启用
ForceFormReload
注册表项功能, 请按照下列步骤操作:
  1. 启动注册表编辑器。
  2. 在注册表, 单击以下项:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Outlook
  3. 在 编辑 菜单, 单击 添加值 , 然后添加以下注册表值:
    收起该表格展开该表格
    值名称 forceFormReload
    数据类型REG _ DWORD
    值数据1
  4. 退出注册表编辑器。

    如果有最新 ServicePack 安装 注意 此功能则能在 Outlook 2000 和 Outlook 2002。 在 Outlook 2003 的原始版本也是可用功能。

    有关如何获取最新 ServicePack, 请单击文章编号, 查看 Microsoft 知识库文章中文章:
    285129 错误消息: " 无法显示所选窗体 "
    305403 OL 2002: 错误消息: 您 | 选择: 表单无法显示, 请与管理员联系

解决您打开基于特定窗体项目时出现问题

如果尝试打开基于特定窗体, 项目时发生问题问题可能是有关不为该特定表单并本身窗体缓存。 下列方法介绍方法来解决特定表单出现问题。 必须按顺序列出它们执行方法。
  • 方法 1

    禁用表单中自定义 Visual Basic Scripting Edition 代码。 这可能表示该问题是否与 Visual Basic Scripting Edition 代码。 要禁用代码, 打开项目时按住 SHIFT 键。 这可以防止在运行 Visual Basic Scripting Edition 代码。
  • 方法 2

    从所有表单网页删除所有控件。 窗体上自定义控件可能遇到问题初始化和可能阻止 Outlook 中打开窗体。 Outlook 无法打开窗体如果下列条件之一为真:
    • 本地计算机上尚未安装自定义控件。
    • 授权注册表密钥不正确。
    要执行此方法, 请按照下列步骤操作:
    1. 在设计模式打开窗体。
    2. 从所有表单网页删除所有控件。
    3. 重新发布具有不同名称窗体。
    4. 尝试打开新发布表单基于新项目。
    如果此方法解决问题, 与控件存在问题。
  • 方法 3

    从表单删除所有自定义字段。 问题可能会与表单上字段。 字段可包含公式。 这些公式可能创建循环引用可能导致性能问题或其他问题可以影响该窗体打开方式。 这并不常见。 但如果您怀疑, 窗体可能已损坏, 从表单删除所有自定义字段。 然后, 发布窗体用不同文件名进行测试。

属性

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

提供反馈