ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 718988|回复: 2429

[分享] 抛砖引玉,VBA编写的简单VBA程序解释器,期待您的进一步完善与改进(最新:进化5)

    [复制链接]

TA的精华主题

TA的得分主题

发表于 2010-3-16 09:06 | 显示全部楼层 |阅读模式
原计划进行一个星期的测试及查询库添加,再将功能进一步完善后再推出的,这两天突然来了大单,可能这个星期都没有时间写了,所以提前放了出来,主要功能基本具备(但查询库需进一步完善),一些计划中的功能留了空位,整个程序没有加任何保护,完全开源,另外提醒,不要对一个三天完成的程序抱太高的期望,本人此举纯属抛砖引玉,借助家里人的力量让她进化成熟,希望能对其进行改进的您也不吝将改进后的版本发一份到这里或我的邮箱kevin.chengcw@yahoo.com.cn

大体总结了一下:
对初学者:可以让你相对轻松的读懂VBA程序,了解语句结构组成
对中级者:可以让您检测您写的程序的简练程度及可读性,还可以让您有个程序DIY的机会
对高级者:这个可以当做您的试验田,看能否给出些更高级的功能

不足之处:
现阶段是以断字的方式进行翻译,对函数结构识别及常数等处理不好
词库量小,对初级程序解释可以,但对高级程序语句,如正则,SQL语句等暂时还不能处理,但如果增加词库相关词语的话还是可以勉强解释,希望对此方面擅长人士进行完善
界面及处理方式简单,经常会有漏网之鱼
功能未能实现模块化调用,对于改进的人可能会是个小阻碍
其他你使用中遇到的问题

下一步目标:
编辑栏增加右键功能(已完成,功能有待继续完善)
将界面中的功能进一步完善,也可能根据需要再增加相关功能
实现函数及函数结构的识别,类似在编辑器里那样,可以提醒您函数后各个参数的对应功能(相对工作量大过现在,但实际意义更大)
功能实现模块化调用,便于升级和维护

给改进者:
对于增加查询库内容:
程序的查询内容全部放在"Sheet1"中,可根据格式将新内容写入,技巧为:以Cells为例,因其有单独和带括号的两种形式,意义可能不同,所以请将其分成"Cells"和"Cells("两种形式分别存放,大小写形式最好与程序里要求的一致
对于程序工作原理:
本程序将VBA程序先以回车换行符进行分割,放入数组,再对数组成员进行如下操作:
1. 查找数组成员是否出现在查询库中(即"Sheet1"中),找到即返回对应解释(因为是整句,一般固定语句有效),找不到进入下一步
2. 对语句进行拆分,进一步查找(本步可以分解出变量,变量将不进行解释,但如果变量名与关键字相同时易混淆)如最终查找不到,则以原样形式出现在解释中
3. 对具体功能有疑问者可以发帖留言,本人将进行详细解说

为免误人子弟,特此声明,本程序仅适合初学者辅助学习VBA使用,无法解释高级用法中词汇,所以希望有此特长之高手能帮忙添加,最后希望大家共勉,能够写出更好的解释器来帮助新人,谢谢

20100316:忙,忙里偷闲,把预留的功能按钮补上相应功能,算是一个小的进化吧
20100317:仍是忙,不过下午有了些空闲,应64楼ruty的建议,增加了通过关键词反查关键字的功能,又小小的进化了一下,希望大家试用一下,看效果好不好
20100324:最近反馈了几个出错的问题,进行了修正,增加了一些关键字的解释,并增加了编辑框的右键菜单,右键菜单的代码是在家里找到的,再次小小的进化一下
20100406: 新增了词条解释功能,类似于读书笔记一样,如果以前你曾经添加过相关解释和用法示例,下一次看的时候可以直接用鼠标选中该词,右键选"解释关键字"即可看到以前储存的内容,如此帮助记忆及理解,因相关工作量过大,建议大家把自己收集sheet2内容传到这里,我会定期的整理合并并贴出来,谢谢
20100617: 发现几个小问题,修正一下,都不知道会不会有5了
20100801: 上传一个网友wzqoo提供的修改版,详见第1129楼:http://club.excelhome.net/viewthread.php?tid=547868&page=76#pid4077174
                   在此特别感谢wzqoo网友,你是第一个提供修改版的人,谢谢!
20101015:  感谢网友hhzjxss提供了两个版本,有兴趣的网友可以到如下地址查看
                   本帖1410楼:http://club.excelhome.net/viewthread.php?tid=547868&page=94#pid4314414
                   本帖1417楼:http://club.excelhome.net/viewthread.php?tid=547868&page=95#pid4317968
                    感谢网友hhzjxss的积极参与!
20101028: 昨晚从网上下载了些源码看,排列不整齐,看起来很麻烦,写了个代码缩进程序,添加进来,相信对读懂代码之间的关系会有所帮助,另根据网友的
                  要求,添加了最小化功能,勉强算是推出个5吧,谢谢大家的支持,很多灵感来自你们。
20110316: 一周年庆,可惜,最近都没啥进化啦

很高兴看到更多人参与进来!

LDY:很好的思路,内容也比较完整,结合帮助更容易加深对代码的理解,对初学者帮助极大。


提示:不需要下载全部的文件,只下最新的就可以了,不删除旧的文件是为了纪念我一步步走过来的脚印

如有疑问,除本论坛外,也可到下面地址发问:http://www.exceltip.net/?fromuser=kevinchengcw ,感谢您 的关注与支持

[ 本帖最后由 kevinchengcw 于 2011-3-16 20:29 编辑 ]

VBA程序解释器_原始版.rar

57.04 KB, 下载次数: 11967

VBA程序解释器_进化_5.rar

104.92 KB, 下载次数: 37714

VBA程序解释器_网友wzqoo修改版.rar

103.29 KB, 下载次数: 27260

评分

57

查看全部评分

TA的精华主题

TA的得分主题

发表于 2010-3-16 09:22 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢,支持一下楼主的共享精神。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-3-16 09:27 | 显示全部楼层
原帖由 joforn 于 2010-3-16 09:22 发表
谢谢,支持一下楼主的共享精神。


谢谢,相信来这里的人大多都是愿意与人共享的

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-3-16 09:58 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-3-16 10:03 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-3-16 10:05 | 显示全部楼层
好像解释得比较简单。。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-3-16 10:12 | 显示全部楼层
原帖由 来生缘 于 2010-3-16 10:05 发表
好像解释得比较简单。。。


所以说不要抱太高期望,只是给暂时只是给初学者辅助使用的

TA的精华主题

TA的得分主题

发表于 2010-3-16 10:14 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 ExcelHome 于 2012-10-6 16:38 编辑

哈哈,又一手很好的学习资料啊~

TA的精华主题

TA的得分主题

发表于 2010-3-16 10:15 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
支持楼主原创.
谢谢分享.

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-3-16 10:20 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢各位支持,lb_bn大侠你已经关注这么久了,帮忙改进一下
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-29 10:47 , Processed in 0.041739 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表