【VBA系统教程七】第五课 利用VBA设置Excel工作表使用权限-nivenm
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> 综合其它


【VBA系统教程七】第五课 利用VBA设置Excel工作表使用权限

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

Access软件网交流QQ群(群号:198465573)
 
 相关文章
【VBA系统教程三】VBA是什么  【nivenm  2013/7/15】
【VBA系统教程四】处理录制的宏  【nivenm  2013/7/15】
【VBA系统教程五】第三课 学习控件  【nivenm  2013/7/22】
【VBA系统教程六】第四课 理解变量和变量的作用  【nivenm  2013/7/22】
【VBA系统教程八】第六课 提高Excel中VBA的效率  【nivenm  2013/7/29】
常见问答
技术分类
相关资源
文章搜索
关于作者

nivenm

文章分类

文章存档

友情链接