从零开始学VBA(下)

第五课"

利用VBA设置工作表使用权限

 Excel Home 一般保护工作表采取的方法是用EXCEL菜单中的“保护”命令,有时这尚嫌不足,比如一些机密文件根本要让某些使用者无法看到,但又需要他来操作工作簿中的其他表,怎么办? 可以打开VBA编辑器,打开“工程资源管理器”,双击该工作表,现在出现的是设置该表的属性的编辑窗口,单击窗口左上的下拉列表框,选择worksheet ,这时再从该窗口右上方的列表框中选择Active(“激活”),这时自动显示如下的语句块:Private Sub Worksheet_Activate()End Sub在其中加入代码:(假设用"123"作为密码,Sheet"机密文档"为限制权限文档,sheet"普通文档"为工作簿中你认为任何适合的工作表)If Application.InputBox("请输入操作权限密码:") = 123 ThenRange("A1").SelectElseMsgbox "密码错误,即将退出!"Sheets("普通文档").SelectEnd if程序如下:Private Sub Worksheet_Activate()If Application.InputBox("请输入操作权限密码:") = 123 ThenRange("A1").SelectElseMsgBox "密码错误,即将退出!"Sheets("普通文档").SelectEnd IfEnd Sub这样做仍有一个问题,就是越权使用者仍会看到一些文件的片段,即在提示密码的那段时间。好,你可以这样做,用上述方法选择工作表的Deactivate事件,输入以下代码:Sheets("机密文档").Cells.Font.ColorIndex = 2这段程序使得此工作表在不被激活时,所有文字为白色。然后,在第一个程序中的Range("A1").Select后插入一行,写入以下代码:ActiveSheet.Cells.Font.ColorIndex = 56这段程序,在你输入正确密码后,将该表所有文字转变为深灰色。完整的程序如下:Private Sub Worksheet_Activate()If Application.InputBox("请输入操作权限密码:") = 123 ThenRange("A1").SelectSheets("机密文档").Cells.Font.ColorIndex = 56ElseMsgBox "密码错误,即将退出!"Sheets("普通文档").SelectEnd If  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值