如何:保护工作表

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

**适用于:**本主题中的信息适用于 Excel 2007 和 Excel 2010 的文档级项目和应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

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

提示

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

使用设计器

在设计器中保护工作表

  • 在**“审阅”选项卡的“更改”组中单击“保护工作表”**。

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

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

允许编辑特定的范围

  • 在**“审阅”选项卡的“更改”组中,单击“允许用户编辑范围”**。

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

在运行时使用代码

以下代码设置密码(使用变量 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);
    

请参见

任务

如何:移除工作表保护

如何:保护工作簿

如何:隐藏工作表

概念

使用工作表

宿主项和宿主控件概述

工作表宿主项

对 Office 项目中对象的全局访问

Office 解决方案中的可选参数