有几种方法
1
简单的隐藏某工作簿(一个excel文件)中的工作表
格式菜单——工作表——隐藏
2
对整个工作簿加密 打开就需要密码,否则无法查看、修改
工具菜单——选项——安全性
3
保护工作表、工作簿不被修改,但能被查看
工具菜单——保护
4
保护某张工作表(不是整个工作簿)不被查看、修改
这个复杂了
见下文
用宏进行“显式”加密
在需要加密的Excel 表中,点击[工具]→[宏]→[Visual Basic编辑器],打开“工程资源管理器”,双击该工作表,在右边的是设置该表属性的编辑窗口,单击该窗口左上方的下拉列表框,选择Worksheet,再从该窗口右上方的列表框中选择Activate(激活)(如图)。
察看原图 发送到手机
添加如下代码:(假设“123”为密码,Sheet1为限制权限表格,Sheet2为工作簿中为任何适合的工作表)
Private Sub Worksheet_Activate()
Sheets(sheet1).Cells.Font.ColorIndex = 2 '设置文字颜色为白色
If Application.InputBox(请输入密码:) = 123 Then
Range(A1).Select
ActiveSheet.Cells.Font.ColorIndex = 56
' 设置文字颜色为黑色
Else
MsgBox 密码错误,即将退出!
Sheets(sheet2).Select
End If
End Sub
每次当你选择该“加密”表的时候都会弹出对话框要求输入密码,正确则进入该表(Sheet1),否则会选择其他表(Sheet2)。
用宏进行“隐式”加密
“显式”加密,虽然可以让没有密码的使用者无法看到“加密”表格,但是每次选择该表格时都会弹出对话框,实在不方便而且给其他用户一种被防范的不舒服感觉。于是笔者就想出了下面的“隐式”加密方法。假如要加密的是Sheet1,我们可以设置在Sheet2的“A1”单元格为密码的输入处。于是修改以上代码如下:
Private Sub Worksheet_Activate()
Sheets(sheet1).Cells.Font.ColorIndex = 2'设置文字颜色为白色
If Sheets(sheet2).Cells(1, 1) = 123 Then
Range(A1).Select
ActiveSheet.Cells.Font.ColorIndex = 56
' 设置文字颜色为黑色
End If
End Sub
设置好以后,只有Sheet2的(A1)单元格为密码“123”时“加密”表Sheet1的内容才显示出来,否则就是透明的,神不知鬼不觉;所谓“隐式”。
“隐式”加密虽然保证了没有密码的用户不能查看“加密”表格的内容,但是不能保护其他用户对其进行修改。所以我们要综合运用上面所说的“保护表格”和“隐式加密”对要保密的表格进行设置。
- 相关评论
- 我要评论
-