文档级解决方案中的文档保护

更新:2007 年 11 月

适用对象

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

项目类型

  • 文档级项目

Microsoft Office 版本

  • Microsoft Office 2003

  • 2007 Microsoft Office system

有关更多信息,请参见按应用程序和项目类型提供的功能

您可以在您的 Visual Studio Tools for Office 项目中使用 Microsoft Office Word 和 Microsoft Office Excel 的保护功能。这些功能可以阻止未经授权的用户更改文档中受保护的部分。

使用 Excel,您可以在工作簿在设计器中处于打开状态时打开或关闭保护功能。使用 Word,您只能在设计器外部打开保护功能。运行时,对于 Word 和 Excel,您都可以通过编程方式启用或禁用保护功能。

对设计器中打开的文档启用了文档保护功能后,所有控件都将从“工具箱”中移除或变得不可用,您无法将任何对象从“数据源”窗口拖动到文档中。

ServerDocument 和受保护的文档

如果文档受保护,则无法从文档外部访问缓存。您无法使用 ServerDocument 检索或处理文档中缓存的数据,也无法使用 ServerDocument 的其他功能。

设计器中的 Word 文档保护

如果您在 Word 文档或模板在 Visual Studio 中处于打开状态时对其添加保护,则无法在设计器中开始强制保护。文档在 Visual Studio 中处于打开状态时为设计模式,它必须为运行模式,您才能开始强制保护。

但是,如果您创建的 Visual Studio Tools for Office 项目使用了一个启用保护功能的现有 Word 文档,则该文档在设计器中打开时是受保护的。您无法编辑文档中受保护的部分,但仍可以在代码编辑器中编写代码以自动执行文档。如果文档在 Visual Studio 中处于打开状态时启用了保护,则您也无法生成项目。

您可以在文档在设计器中处于打开状态时关闭保护功能,以便可以编辑文档并生成项目。当您正在调试时,不能关闭设计器中副本的保护功能;调试时打开的文档不同于设计器中打开的副本(在 Visual Basic 中,输出副本存储在 \bin 目录中,在 C# 中存储在 \bin\debug 目录中)。

您可以通过在 Visual Studio 中关闭项目,打开项目目录中文档的副本,然后打开保护,对在设计器中打开的文档副本启用保护功能。

在生成时强制 Word 文档保护

Visual Studio Tools for Office 在生成过程中启动对 Word 文档和模板的强制保护,以便在文档打开以进行调试时启用保护。文档由一个空密码保护。

生成时将启用保护功能,以便当文档的 Startup 事件中存在可能导致异常或更改应用程序行为的代码时,可以正确调试此代码。如果在文档已打开后启用保护功能,可能无法调试或测试初始化代码。

设置密码

Visual Studio Tools for Office 会自动启用保护,但默认情况下不提供密码。如果您希望文档保护有密码,必须在部署解决方案之前添加密码。通过添加密码,您将能够允许经过授权的用户移除文档的保护;如果没有密码,就不太容易移除保护。有关设置密码的详细信息,请参见特定 Office 应用程序中的帮助。

请参见

任务

如何:保护文档和文档的某些部分

文档保护器示例

如何:允许代码在具有受限制权限的文档的后台运行

概念

部署 Office 解决方案 (2003 System)

信息权限管理与托管代码扩展概述

Office 文档的密码保护

在 Visual Studio 中创建 Office 解决方案