如何在 Visio 中排查损坏的绘图问题

总结

本文讨论如何在 Microsoft 办公室 visio 2013、Visio 2010、Visio 2007、Microsoft 办公室 Visio 2003 和 Microsoft Visio 2002 中对损坏的绘图进行故障排除。 本文介绍一些症状,这些症状可能指示你在 Visio 中处理的绘图已损坏。

此外,本文还列出了可在损坏的绘图上使用的一些恢复方法。 它们包括常规故障排除方法、如果可以或无法打开绘图的方法,以及帮助防止绘图损坏的方法。

简介

概述

如果在处理 Visio 绘图时遇到意外行为,Visio 绘图可能会损坏。 如果绘图损坏,可能会收到以下错误消息:

  • “页面错误无效”、“常规保护错误”或“非法指令”错误消息

  • 打开绘图时类似于以下错误消息之一:

    “操作打开期间出错(100)

    “Visio 无法打开该文件,因为它不是 Visio 文件,或者它已损坏。

  • 指示系统资源不足的“内存不足”错误消息或错误消息

注意

这些错误消息并不总是意味着绘图已损坏。 但是,如果在处理特定绘图时反复遇到一个或多个这些错误消息,该绘图可能会损坏。

本文列出了一些可用于尝试恢复损坏绘图的方法。 本文中所述的方法不能保证成功恢复损坏的绘图。 有时,根据损坏的类型,可能无法恢复任何数据。 可能需要重新创建绘图或从备份文件还原绘图。

一般疑难解答方法

在不使用自动化事件的情况下启动 Visio,无需Microsoft Visual Basic for Applications

使用以下方法之一,在没有 Visual Basic for Applications 的情况下启动 Visio:

方法 1:Microsoft 办公室 Visio 2013 和 Visio 2010

  1. 启动 Visio。
  2. “文件 ”选项卡上,选择“ 选项”,然后选择“ 信任中心”。
  3. 选择 “信任中心 设置”,然后选择“ 禁用所有宏而不通知”。
  4. 选择“加载项”
  5. 选中“禁用所有应用程序加载项”复选框。
  6. 选择“确定”
  7. 退出 Visio,然后重启 Visio。

方法 2:Microsoft 办公室 Visio 2007

  1. 正常启动 Visio。
  2. “工具” 菜单上,选择“ 信任中心”。
  3. 选择 “宏设置”,然后选择“ 禁用所有宏而不通知”。
  4. 选择“加载项”
  5. 选中“禁用所有应用程序加载项”复选框。
  6. 选择“确定”
  7. 退出 Visio,然后重启 Visio。

方法 3:Microsoft 办公室 Visio 2003 和早期版本的 Visio

  1. 正常启动 Visio。

  2. 根据正在运行的 Visio 版本,使用以下过程之一:

    • 如果运行的是 Visio 2003,请在“工具”菜单上选择“选项”,然后选择“安全”选项卡。
    • 如果运行的是 Visio 2002,请在“工具”菜单上选择“选项”,然后选择“高级”选项卡。
  3. 执行以下步骤:

    • 清除“ 启用 Microsoft Visual Basic for Applications ”复选框。

      注意:清除“启用Microsoft Visual Basic for Applications”复选框后,“启用Microsoft Visual Basic for Applications 项目创建”复选框,“从文本加载 Microsoft visual Basic for Applications”项目将变为不可用。

    • 清除“启用 COM 加载项”复选框。

    • 清除 “启用自动化事件 ”复选框。

  4. 选择“确定,然后退出 Visio。

  5. 重启 Visio。

方法 4:使用“复制绘图”命令将每页复制到新绘图中的页面

对于 Visio 2013 和 Visio 2010:

  1. 请确保选中绘图中没有任何内容。
  2. “开始”选项卡上的“剪贴板”组下,选择“复制”。
  3. 打开要在其中嵌入绘图的文档,然后在 “开始 ”选项卡上的 “剪贴板” 组中,选择“ 粘贴”。

对于 Visio 2007 和 Visio 2003:

  1. 在 Microsoft 办公室 Visio 绘图中,请确保未选择任何内容。

  2. “编辑” 菜单上,选择“ 复制绘图”。

    注意

    此命令复制整个绘图,包括其他绘图页和背景上的形状。 嵌入多页 Visio 绘图时,可见页面将是选择“复制绘图时处于活动状态的页面。

  3. 打开要在其中嵌入绘图的文档,然后在“编辑”菜单上,选择“粘贴(或等效命令)。

在安全模式下启动 Windows

按照以下步骤在安全模式下启动 Windows:

注意

由于 Microsoft Windows 存在多个版本,因此你计算机上的以下步骤可能会有所不同。 如果是这样,请参见您的产品文档来完成这些步骤。

  1. 关闭,然后重新启动计算机。
  2. 看到“请选择要启动的操作系统”消息时,请按 F8。
  3. “Windows 高级选项” 菜单上,使用箭头键选择“ 安全模式”,然后按 Enter。
  4. 如果你有双启动或多启动计算机,请从显示的列表中选择相应的操作系统,然后按 Enter。
  5. 启动 Visio,然后尝试打开绘图。

有关安全模式的详细信息,请参阅高级启动选项(包括安全模式)。

如果无法打开绘图,请尝试的方法

方法 1:将绘图文件拖到Visio.exe文件图标

将绘图文件拖到表示Visio.exe文件的图标。 如果运行的是 Visio 2010,则Visio.exe文件位于以下文件夹中: Drive:\Program Files\Microsoft Office\Office14*如果在 Windows 64 位上安装 Visio 32 位,则 Program Files 文件夹在文件夹名称后面有一个 (x86)。 Visio 2010 现在具有本机 64 位版本。

  1. 退出 Visio。
  2. 开始Microsoft Windows 资源管理器,然后在硬盘上找到Visio.exe文件。 如果将 Visio 安装到默认位置,Visio.exe文件位于以下文件夹中,具体取决于正在运行的 Visio 版本:
    • 如果运行的是 Visio 2013,Visio.exe文件位于以下文件夹中: Drive:\Program Files\Microsoft Office\Office15

      注意

      如果在 64 位版本的 Windows 上安装了 32 位版本的 Visio,则 Program Files 文件夹在文件夹名称后面有一个 (x86)。 Visio 2013 现在具有本机 64 位版本。

    • 如果运行的是 Visio 2010,则Visio.exe文件位于以下文件夹中:注意: Drive:\Program Files\Microsoft Office\Office14 如果在 64 位版本的 Windows 上安装了 32 位版本的 Visio,则 Program Files 文件夹将位于文件夹名称后面(x86)。 Visio 2010 现在具有本机 64 位版本。

      如果运行的是 Visio 2007,Visio.exe文件位于以下文件夹中:

      Drive:\Program Files\Microsoft 办公室\Office12

      如果运行的是 Visio 2003,则Visio.exe文件位于以下文件夹中:

      Drive:\Program Files\Microsoft 办公室\Visio11

  • 如果运行的是 Visio 2002,Visio.exe文件位于以下文件夹中:

    Drive:\Program Files\Microsoft 办公室\Visio10

    注意

    如果将 Visio 安装到不同于默认安装位置的文件夹,则计算机上Visio.exe文件的路径不同。

  1. 在 Windows 资源管理器中,找到要打开的绘图文件。
  2. 将绘图文件拖到表示Visio.exe文件的图标。

方法 2:在 Windows 资源管理器中双击绘图文件

尝试使用 Windows 资源管理器打开绘图文件:

  1. 退出 Visio。
  2. 启动 Windows 资源管理器,然后找到要打开的绘图文件。
  3. 双击绘图文件。

方法 3:打开绘图文件的临时副本

修改 Visio 绘图时,将创建绘图文件的临时副本。 绘图文件的临时副本名为 ~$$FileName.~vsd。 绘图文件的临时副本通常创建并存储在绘图所在的同一文件夹中。

若要打开绘图文件的临时副本,请执行以下步骤:

  1. 启动 Visio,然后打开绘图。

  2. 启动 Windows 资源管理器,然后找到存储绘图的文件夹。 在此文件夹中查找绘图文件的临时副本。 绘图文件的临时副本名为 ~$$FileName.~vsd。

    注意

    如果绘图文件的临时副本不在存储绘图的文件夹中,请搜索硬盘以查找绘图文件的临时副本。

    若要在硬盘中搜索绘图文件的临时副本,请执行以下步骤:

    请注意 ,由于有多个版本的 windows Microsoft,因此计算机上以下步骤可能有所不同。 如果是这样,请参见您的产品文档来完成这些步骤。

    1. 选择“开始”,然后选择“搜索”。
    2. 选择 “所有文件和文件夹”。
    3. 文件名 的“全部”或“部分”框中,键入 ~$$**FileName**.~vsd,然后选择“ 搜索”。
  3. 将绘图文件的临时副本的扩展名更改为 .vsd。 执行以下步骤:

    1. 右键单击绘图文件的临时副本,然后选择“ 重命名”。
    2. 将绘图文件的临时副本的扩展名从 ~.vsd 更改为 .vsd。
  4. 尝试打开已重命名的绘图文件的临时副本。

方法 4:使用 Microsoft 办公室 Visio Viewer 打开绘图

安装 Microsoft 办公室 Visio Viewer 2010,然后使用 Visio Viewer 打开和查看绘图。 安装 Visio Viewer 2010 时,可以使用 Microsoft Internet Explorer 5.0 或更高版本的 Internet Explorer 查看使用 Visio 2010、Visio 2007、Visio 2003、Visio 2002、Microsoft Visio 2000 或 Microsoft Visio 5 创建的 Visio 绘图和图表。 有关 Visio Viewer 2010 的详细信息,请访问以下Microsoft网站:

https://www.microsoft.com/download/details.aspx?id=21701

如果可以在 Visio Viewer 中打开绘图,则计算机上的 Visio 安装可能会损坏,或者绘图可能包含一个或多个可能损坏的对象。

方法 5:将绘图文件复制到另一台计算机

将绘图文件复制到安装了 Visio 的另一台计算机。 如果可以在该计算机上打开绘图,请将绘图文件保存到该计算机的硬盘上的另一个文件夹,然后将绘图文件复制回原始计算机。

方法 6:将绘图文件复制到计算机上的另一个磁盘

Windows 可能无法读取当前保存绘图文件的绘图文件。 将绘图文件复制到计算机上的另一个磁盘。 例如,将文件从软盘复制到硬盘。 将绘图文件复制到计算机上的其他磁盘后,请尝试打开绘图文件。

注意

如果无法从保存绘图文件的磁盘复制绘图文件,则绘图文件可能与其他文件或文件夹交叉链接,或者绘图文件可能位于磁盘损坏的扇区中。 若要解决此问题,请按照方法 7 中的步骤操作。

方法 7:检测和修复硬盘上的错误

如果你运行的Microsoft Windows Server 2003、Microsoft Windows XP、Microsoft Windows 2000 或 Microsoft Windows NT 4.0,请使用检查磁盘工具检测硬盘上的文件系统错误或坏扇区。

有关详细信息,请选择以下文章编号以查看Microsoft知识库中的文章:

检查硬盘是否存在错误

如果运行的是 Microsoft Windows Millennium Edition(Me)或 Microsoft Windows 98,请使用 Scandisk 工具检测硬盘上的文件系统错误或坏扇区。

注意

尽管检查磁盘工具或 ScanDisk 工具可以检测和修复硬盘上的文件系统错误或坏扇区,但 Visio 可能仍无法打开或读取文件。

方法 8:使用“以前的版本”选项卡打开以前的“卷影复制”

  1. 右键单击 Visio 文件。
  2. 选择属性
  3. 选择“ 以前的版本 ”选项卡,为列表填充提供一些时间。
  4. 选择较旧版本的文件。
  5. 选择打开
  6. 如果文件成功打开,请在 “文件 ”菜单中选择“ 另存为 ”并保存文件的副本。

如果可以打开绘图,请尝试的方法

方法 1:将文件另存为 XML 绘图

将绘图另存为 XML 绘图(.vdx 文件),然后将 XML 绘图另存为绘图(.vsd 文件)。 执行以下步骤:

  1. 启动 Visio,然后打开绘图。
  2. 在“文件”菜单上,选择“另存为”
  3. 在“另存为”对话框中,选择“另存为类型”框中的“XML 绘图”(*.vdx),然后在“文件名”框中键入文件名 指定要保存绘图文件的位置,然后选择“ 保存”。
  4. 关闭当前打开的所有绘图。
  5. 在“文件”菜单上,选择“打开”
  6. 找到前面在步骤 3 中保存的 XML 绘图(.vdx),然后选择“ 打开”。
  7. 在“文件”菜单上,选择“另存为”
  8. 在“另存为”对话框中,选择“另存为类型”框中的绘图”(*.vsd),然后在“文件名”框中键入文件名 指定要保存绘图文件的位置,然后选择“ 保存”。
  9. 关闭绘图。
  10. “文件”菜单上,选择“打开”
  11. 找到前面在步骤 8 中保存的绘图(.vsd 文件),然后选择“ 打开”。

方法 2:将绘图插入新的空白绘图

将绘图插入新的空白绘图。 要执行此操作:

对于 Visio 2013 和 Visio 2010:

  1. 启动 Visio
  2. “文件”选项卡的“新建”下,选择“空白绘图”,然后选择“创建”按钮。
  3. “插入 ”选项卡上,选择“ 对象”。
  4. 选择“ 从文件创建”,然后选择“ 浏览”。
  5. 选择绘图,选择“打开,然后选择“确定”。
  6. 根据你的情况,确定绘图文件是否已损坏,还是存在另一个问题。
    • 如果收到“错误 3400”错误消息,则绘图文件可能会损坏。 使用本文中所述的方法尝试恢复绘图。
    • 如果未收到“错误 3400”错误消息,则可能存在另一个问题可能会阻止 Visio 打开绘图。 例如,计算机上某些组件之间可能存在冲突,以防止 Visio 打开绘图。

对于 Visio 2007 和 Visio 2003:

  1. 启动 Visio。
  2. “文件 ”菜单上,指向 “新建”,然后选择“ 新建绘图”。
  3. 在“插入”菜单上,选择“对象”
  4. 选择“ 从文件创建”,然后选择“ 浏览”。
  5. 选择绘图,选择“打开,然后选择“确定”。
  6. 根据你的情况,确定绘图文件是否已损坏,还是存在另一个问题。
    • 如果收到“错误 3400”错误消息,则绘图文件可能会损坏。 使用本文中所述的方法尝试恢复绘图。
    • 如果未收到“错误 3400”错误消息,则可能存在另一个问题可能会阻止 Visio 打开绘图。 例如,计算机上某些组件之间可能存在冲突,以防止 Visio 打开绘图。

试图帮助防止绘图损坏的方法

无法阻止文件发生的所有损坏。 硬盘可能会磨损,电源可能会发生故障,其他无法预见的事件可能会导致文件损坏。 以下提示和建议可能有助于减少 Visio 和其他程序中发生的损坏文件的数量。

优化 Visio 中的“自动恢复”设置

“自动恢复 ”设置配置为适合你的值。 如果计算机停止响应或意外失去电源,Visio 将在下次启动程序时打开 AutoRecovery 文件。 AutoRecovery 文件可能包含未保存的信息,否则会丢失原始绘图文件。 如果原始绘图文件已损坏,则可以从 AutoRecovery 文件恢复信息。

若要在 Visio 中配置 AutoRecover 设置,请执行以下操作:

  1. 启动 Visio。
  2. 在“工具”菜单上选择“选项” 。
  3. 选择“保存”选项卡或“保存/打开”选项卡。
  4. 选中每个复选框的“保存自动恢复信息”,然后指定所需时间(以分钟为单位)。 默认情况下, 自动恢复 设置设置为 10 分钟。
  5. 选择“确定”

确保电源一致

不一致的电源可能会导致文件损坏,即使你没有断电也是如此。 峰值或不足的电源可能会影响计算机上的读取进程和写入进程,并可能导致损坏。 如果区域中的电源不一致,请使用浪涌保护器。 如果发生电源高峰,浪涌保护器可以帮助防止计算机上的损坏。 还可以考虑使用不间断电源(UPS)。 UPS 单元为计算机提供电源,即使发生停电也是如此。 若要详细了解如何获取其中任一设备,请与硬件供应商联系。

备份数据

请确保定期备份数据。 例如,将绘图的备份副本存储在硬盘上的不同卷上。 或者,根据你的要求和环境,在计算机上实施其他备份或其他容错解决方案。 某些容错解决方案(例如独立磁盘冗余阵列(RAID)通常仅适用于大型网络。 其他备份选项包括:

  • 磁带备份
  • CD 备份
  • 镜像卷
  • RAID-5 卷
  • 外部硬盘驱动器
  • USB(闪存)驱动器

在本地处理数据

如果在网络环境中工作并且经常出现损坏,可能需要在打开文件或修改文件之前考虑将文件复制到本地计算机。 使用“我的计算机”或“Windows 资源管理器”将文件复制到桌面。 处理存储在本地计算机上的文件时,可以阻止网络连接问题导致的读取问题或写入问题,例如:

  • 网络连接速度缓慢
  • 已删除的网络连接
  • 网络流量峰值

还可以考虑从硬盘工作,而不从可移动媒体(如软盘或 ZIP 驱动器)工作。 在保存操作中涉及的媒体和设备驱动程序越多,文件损坏的可能性就越大。