设为首页
联系站长
加入收藏

您的位置: 首页>>IT业界>>互联网>>正文
 第五课 利用VBA设置工作表使用权限
 日期:2005-11-22 13:27:35  来源:百当软件园

一般保护工作表采取的方法是用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

相关文章

·Excel2000工作薄安全攻略
·Excel文件的加密与隐藏
·Excel97使用技巧42招
·用Excel统计2000年中国甲A联赛
·用Excel函数排序与筛选
·重名检索与姓氏频率统计
·用Excel函数自动排名次
·第七课 如何在Excel里使用定时器
·第六课 提高Excel中VBA的效率
·第四课 理解变量和变量的作用


阅读排行

·Win 2000不能访问Win XP的原因及
·解析Windows中的帐户和权限功能
·如何共享Windows XP操作系统
·Windows XP Service Pack 1
·通过 Windows XP 注册表自定义您
·Windows 2000 TCP/IP协议概述
·Windows 2000 Server TCP/IP协议
·dos常用命令使用说明
·Windows变慢原因分析及解决方法(
·Windows变慢原因分析及解决方法(
·WINXP下强行关闭“杀”不了的进程
·Windows XP系统注册表的恢复

最新文档

·创业激情需冷静 网络代理选择应理
·域名交易平台亟需规范 预防域名买
·Travel旅游域名即将引发抢注潮 
·从原理深处分析如何预防arp攻击
·突破建站弊端 企业网络营销大有可
·如何区分进程和病毒?
·java的基础知识,如何学好java
·微机原理与接口技术基础知识
·如何解决青少年沉迷网络的问题,
·全面分析主板BIOS报警信号

请您注意:
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·您在本站发表的作品,本站有权在网站内转载或引用
·其他网站如果需要转载 本站文章请在贵站著名来源,谢谢合作