如何:保护工作表
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);