如何:保护工作表

更新:2007 年 11 月

适用于

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

项目类型

  • 文档级项目

  • 应用程序级项目

Microsoft Office 版本

  • Excel 2003

  • Excel 2007

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

Microsoft Office Excel 中的保护功能有助于防止用户或代码修改工作表中的对象。默认情况下,在打开保护之后,将锁定所有单元格。

在文档级自定义项中,可以使用 Excel 设计器保护工作表。还可以在运行时以编程方式保护工作表。

说明:

不能向工作表中受保护的区域添加 Windows 窗体控件。

使用设计器

在设计器中保护工作表

  • 打开“保护工作表”对话框:

    1. 如果使用的是 Excel 2003,请在 Excel 的“工具”菜单上指向“保护”,然后单击“保护工作表”。

    2. 如果使用的是 Excel 2007,请在“审阅”选项卡的“修订”组中单击“保护工作表”。

    随即出现“保护工作表”对话框。您可以设置密码,还可以选择指定允许用户对工作表执行的特定操作,如设置单元格格式或插入行。

也可以允许用户编辑受保护的工作表中的特定范围。

允许编辑特定的范围

  • 打开“允许用户编辑区域”对话框:

    1. 如果使用的是 Excel 2003,请在 Excel 的“工具”菜单上指向“保护”,然后单击“允许用户编辑区域”。

    2. 如果使用的是 Excel 2007,请在“审阅”选项卡的“修订”组中单击“允许用户编辑区域”。

    随即出现“允许用户编辑范围”对话框。您可以指定用密码取消锁定的范围,以及哪些用户无需密码即可编辑范围。

在运行时使用代码

以下代码设置密码(使用变量 getPasswordFromUser,它包含从用户那里获得的密码)并且仅允许排序。

在文档级自定义项中使用代码保护工作表

  • 调用工作表的 Protect 方法。此示例假定您正在使用名为 Sheet1 的工作表。

    Globals.Sheet1.Protect(getPasswordFromUser, AllowSorting:=True)
    
    Globals.Sheet1.Protect(getPasswordFromUser, 
        missing, missing, missing, missing, missing, missing, missing, missing, 
        missing, missing, missing, missing, true, missing, missing);
    

在应用程序级外接程序中使用代码保护工作表

  • 调用活动工作表的 _Worksheet.Protect 方法。

    CType(Application.ActiveSheet, Excel.Worksheet).Protect(getPasswordFromUser, AllowSorting:=True)
    
    ((Excel.Worksheet)Application.ActiveSheet).Protect(getPasswordFromUser, 
        missing, missing, missing, missing, missing, missing, missing, missing, 
        missing, missing, missing, missing, true, missing, missing);
    

请参见

任务

如何:移除工作表保护

如何:保护工作簿

如何:隐藏工作表

概念

使用工作表

宿主项和宿主控件概述

工作表宿主项

对 Visual Studio Tools for Office 项目中的对象的全局访问

了解 Office 解决方案中的可选参数