翻新时间: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
下载文档
网友最新关注
- 大地的苏醒
- 考试以后
- 抓螃蟹
- 杨凯,谢谢你!
- 地球美容计划
- 秋菊
- 三枝康乃馨
- 新型钢笔
- 做为老鼠的一天
- 我最喜欢的汉字
- 节日之前
- 第一次独自睡觉
- 小老虎的苦恼
- 月亮的遐想
- 倒霉的一天
- 文明离校,爱心留校倡议书
- 新闻工作者先进性教育个人党性分析材料
- 禁烟倡议书
- 农村党总支创先争优承诺书
- 读书节倡议书
- 大学文明离校倡议书
- 高中同学会倡议书
- 公司党员创先争优承诺书
- 幼儿园党支部创先争优活动公开承诺书
- 学校党支部创先争优公开承诺书
- 村党总支书记争先创优个人承诺书
- 人民警察廉政宣言
- 社区党总支创先争优承诺书
- “爱心行动”倡议书
- 农村创先争优一般党员承诺书
- 基于SWOT分析的经济型酒店市场营销
- 浅谈转型期中国社会阶层的分化及其应对措施
- 简述新世纪社会主义发展的三大趋向
- 浅析民族声乐和民族唱法
- 巧用教学语言,增强音乐魅力
- 中小企业网络营销面临的问题与对策
- 旅游目的地市场营销——以成都市为例
- 英汉反身代词长距离约束的语用分析
- 对包装设计与科学技术关联分析
- 中小企业国际市场营销策略探析
- 分析全球化影响下的现代艺术设计
- 媒体语言“××门”的语法化探析
- 英语广告欣赏与语言特征分析
- 胃药市场销售状况及营销浅析
- 从社会主义一大历史难题的破解看社会主义的历史命运
- 《夜莺的歌声》一课中的修辞
- 《夜莺的歌声》:紧扣“歌”字读课文
- 《一个中国孩子的呼声》教学设计五
- 《夜莺的歌声》教学建议
- 《小英雄雨来》教学设计五
- 《大自然的启示》教学设计二
- 《夜莺的歌声》教学片段
- 《一个中国孩子的呼声》教学设计六
- 《大自然的启示》教学设计四
- 《小英雄雨来》教学设计七
- 《夜莺的歌声》教后感
- 《一个中国孩子的呼声》教学设计七
- 《蝙蝠和雷达》教学设计四
- 《小英雄雨来》教学设计二
- 《蝙蝠和雷达》教学设计三