魔方网表 让信息化更简单

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

查看: 2679|回复: 0

宝典:Excel工作表的保护大法

[复制链接]
lnxxnchzyl 发表于 2009-9-7 14:52:25 | 显示全部楼层 |阅读模式

   Excel表格是我们工作中经常用到的,而它往往涉及统计数据等敏感问题,因此,Excel表格的保护也是经常遇到的问题,如何安全使用Excel呢?我们常用到的是Excel“工具”菜单提供的“保护工作表”和“保护工作簿”功能。有没有其他方法呢?
   用宏进行“显式”加密
  在需要加密的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的内容才显示出来,否则就是透明的,神不知鬼不觉;所谓“隐式”。
   “隐式”加密虽然保证了没有密码的用户不能查看“加密”表格的内容,但是不能保护其他用户对其进行修改。所以我们要综合运用上面所说的“保护表格”和“隐式加密”对要保密的表格进行设置。
  上面是笔者在实践中综合出来的加密经验,希望能给大家带来方便,也恭候大家的指点交流。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|魔方软件 ( 京ICP备08008787号 )

京公网安备 11010702001722号

GMT+8, 2025-9-6 12:28 , Processed in 0.059036 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表