翻新时间:2013-12-14
VBA在限定Excel工作表用户按钮中的应用
摘 要 通过研究VBE及其下层对象的访问方法,本文详细地探讨了按钮过程的代码控制技术,从而实现了Excel测试软件中工作表用户按钮的执行限定。
关键词 按钮过程 VBE 下层对象 代码限定
1 引言
作为一个优秀的表格处理软件和系统开发平台,Excel拥有许多无可替代的优势。基于Excel环境开发的管理信息系统,具有操作直观性强、开发周期短的特点,因此形成了熟悉Excel操作的广大用户。为了保证开发系统的正常渠道流通及著作者利益,必须保护系统的使用权限,本文通过VBA的开发应用,提出了一种Excel工作表用户按钮的限定方法,以此来完善其系统测试软件的功能。
2 限定按钮执行及其对应过程代码
限定工作表用户按钮的执行包括两个方面的含义,即限定其按钮对象的显示及其指定宏过程代码的有效性,两者结合在一起加以实现,才能起到既展现软件功能,又真正限制其过分执行操作的作用,从而体现对用户软件的测试目的。
2.1 查找按钮执行过程代码
限定按钮对象及其执行代码,首要的问题便是获得其对应的执行代码过程名,并在当前工程的所有代码模块中查找其代码位置。
实践表明,按钮对象与图形图像和艺术字体一样,都属于Shape形状对象,它们都有其对应的OnAction属性,代表其被指定的宏过程代码名称。需要指出的是窗体类型按钮对应的宏过程代码一般位于工程的标准模块中,而ActiveX按钮过程代码则位于工作表代码模块中,且其对应的正确执行过程名为其按钮名与相应的事件名的连接串。为了查找某个按钮对应的过程代码,需要对VBE(Visual Basic 编辑器)的下层对象VBComponents进行搜索。VBComponents对象代表VBE编辑器下的各个代码模块VBComponent。通过对某一VBComponent的下一层对象CodeModule的相关属性的访问,可以获得诸如模块代码总行数等信息,也可以通过其Find方法查找指定内容的代码行。下面即为查找按钮过程、处理按钮过程代码的算法代码。
SheetsCount = ActiveWorkbook.Worksheets.Count
'对所有工作表中的所有按钮对象循环
For i = 1 To SheetsCount
Set MySheet = Worksheets(i)
MySheet.Activate
For Each sh In MySheet.Shapes
sh.Visible = True
sh.Select
'取得选定对象所对应的过程名
MyProname = sh.OnAction
'对于ActiveX按钮,则只取得其onClick事件过程名
If sh.Type = msoOLEControlObject Then
MyProname = sh.Name
下载文档
网友最新关注
- 我的心里话
- 我的奶奶
- 捉蚱蜢的小伙伴
- 我的妹妹
- 我的妈妈
- 小球迷
- 我的爸爸
- 爸爸,我想对你说
- 妈妈,我想对你说
- 我的班主任
- 我的老师
- 我的老师
- 我的爸爸
- 我们的何老师
- 我爱我的奶奶
- “我不知道自己在干嘛!”
- 简川Z 谍战的壳,爱情的瓤
- “我真的很钦佩马云。”
- 专题 编剧枕边书
- 天津卫视S2大综艺来袭
- 殷桃 为了理想“北漂”
- 丁燕的两个世界
- 马苏:打李晨,没压力
- “你没有!”
- 娱乐的皮囊,哲学的内胆
- 一剧两星下,Q1电视剧播出量质齐升
- 有限细分原则下的“板块编剧法”
- 何晟铭 挑战安世耿的分裂人格
- 青果:一个理想主义者的创意空间
- 韩国偶像剧:告别单薄,走向鲜活
- 将凋零的爱与美——从《边城》看沈从文的“湘西世界”
- 如何面对残暴与怯懦——《纪念刘和珍君》《小狗包弟》课堂实录
- 《雷雨》学案设计范例 ——分析导读及练习
- 高中散文阅读方法指导
- 鲁迅的阴毒
- 《石钟山记》的原文及译文
- 班固的《汉书》与《史记》的异同
- (苏教版)第十一册语文教材分析
- 把握教材特点 用好用活资料袋
- 为自己的课堂创设亮点——关于《庄子:在我们无路可走的时候》一文的教学反思
- 《春》之解析
- 八年级语文学案范文:《岳阳楼记》导学案设计范例
- 论“京味小说派”与老舍
- 《静女》优质课教案范例及评课
- 林黛玉之“凄美”