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

更新:2007 年 11 月

适用对象

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

项目类型

  • 文档级项目

  • 应用程序级项目

Microsoft Office 版本

  • Word 2003

  • Word 2007

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

您可以为 Microsoft Office Word 文档添加保护,以防止用户对文档进行任何编辑操作。

还可以将文档中的特定区域标记为不受保护,从而指定用户只能编辑文档的这些区域。例如,您可能希望保护整个文档,但某个特定的书签除外。可选择添加密码,这样一来,除非用户知道此密码,否则无法移除文档保护。

说明:

下面的示例未使用密码保护;但是,在添加文档保护时,您可能想考虑使用密码。有关更多信息,请参见文档保护器示例

如果在为 Microsoft Office Word 2007 开发文档级自定义项,您也可以使用内容控件来保护文档的各个部分。有关更多信息,请参见如何:使用内容控件保护文档的某些部分

保护属于文档级自定义项的文档

保护属于文档级自定义项的文档

  • 调用 Microsoft.Office.Tools.Word.Document 类的 Protect 方法。

    Me.Protect(Word.WdProtectionType.wdAllowOnlyReading, _
        False, String.Empty, False, False)
    
    object noReset = false;
    object password = System.String.Empty;
    object useIRM = false;
    object enforceStyleLock = false;
    
    this.Protect(Word.WdProtectionType.wdAllowOnlyReading, 
        ref noReset, ref password, ref useIRM, ref enforceStyleLock);
    

将一个 Bookmark 控件从文档保护中排除

  1. 使用 Protect 方法保护整个文档。

    Me.Protect(Word.WdProtectionType.wdAllowOnlyReading, _
        False, String.Empty, False, False)
    
    object noReset = false;
    object password = System.String.Empty;
    object useIRM = false;
    object enforceStyleLock = false;
    
    this.Protect(Word.WdProtectionType.wdAllowOnlyReading, 
        ref noReset, ref password, ref useIRM, ref enforceStyleLock);
    
  2. 从文档保护中排除 Bookmark1。

    Bookmark1.Range.Editors.Add(Word.WdEditorType.wdEditorEveryone)
    
    object editorID = Word.WdEditorType.wdEditorEveryone;
    this.bookmark1.Range.Editors.Add(ref editorID);
    

编译代码

若要使用这些代码示例,请从项目内的 ThisDocument 类中运行这些示例。这些代码示例假定在出现此代码的文档中有一个名为 Bookmark1 的现有 Bookmark 控件。

使用应用程序级外接程序保护文档

使用应用程序级外接程序保护文档

  • 调用要保护的 Microsoft.Office.Interop.Word.DocumentProtect 方法。

    下面的代码示例将保护活动文档。若要使用此代码示例,请从项目内的 ThisAddIn 类中运行此示例。

    Me.Application.ActiveDocument.Protect(Word.WdProtectionType.wdAllowOnlyReading, _
        False, String.Empty, False, False)
    
    object noReset = false;
    object password = System.String.Empty;
    object useIRM = false;
    object enforceStyleLock = false;
    
    this.Application.ActiveDocument.Protect(
        Word.WdProtectionType.wdAllowOnlyReading,
        ref noReset, ref password, ref useIRM, ref enforceStyleLock);
    

请参见

任务

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

如何:向 Word 文档添加书签控件

概念

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

Office 文档的密码保护

在 Visual Studio 中创建 Office 解决方案