|
楼主 |
发表于 2009-3-11 11:13
|
显示全部楼层
第5部分 Application对象
技巧68 屏蔽、改变组合键的功能
使用Application 对象的OnKey方法可以屏蔽或改变组合键的默认操作,如下面的代码所示。- #001 Private Sub Workbook_Open()
- #002 Application.OnKey "^{c}", "myOnKey"
- #003 End Sub
- #004 Sub myOnKey()
- #005 MsgBox "本工作表禁止复制数据!"
- #006 End Sub
复制代码 代码解析:
第1行到第3行代码工作簿的Open事件,在工作簿打开时使用OnKey方法改变<Ctrl +C>组合键的功能。
应用于Application 对象的OnKey方法指定特定键或特定的组合键运行的过程,语法如下:
expression.OnKey(Key, Procedure)
参数expression是必需的,该表达式返回一个Application 对象。
参数Key是必需的,用于表示要按的键的字符串,具体请参阅VBA中的帮助。
参数Procedure是可选的,表示要运行的过程名称的字符串,本示例中将过程名称指定为第4行到第6行代码的“myOnKey”过程,当按下<Ctrl +C>组合键时并不会执行复制操作而只显示一个消息框。如果将Procedure参数指定为空文本(""),则按<Ctrl +C>组合键时不发生任何操作,达到屏蔽组合键的效果。
如果省略Procedure参数,则按下<Ctrl +C>组合键时产生Microsoft Excel中的正常结果,同时清除先前使用OnKey方法所做的特殊击键设置,所以恢复<Ctrl +C>组合键的代码如下:
Application.OnKey "^{c}"
为了不影响其他工作簿的功能,恢复代码就放在工作簿的Deactivate事件中,如下面的代码所示:- Private Sub Workbook_Deactivate()
- Application.OnKey "^{c}"
- End Sub
复制代码 代码解析:
当工作簿从活动状态转为非活动状态时恢复<Ctrl +C>组合键的正常功能。 |
评分
-
1
查看全部评分
-
|