ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

VBA 环境下UserForm窗体menu编辑器及代码生成加载宏2009更新版!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-1-20 14:36 | 显示全部楼层 |阅读模式
VBA 环境下UserForm窗体menu编辑器及代码生成加载宏2009更新版!2007年发表了第一版.
熟悉VB的网友都知道,VBE的环境下点击窗体会有自定义菜单编辑器这一工具出现.菜单编辑器是方便用户在编程时提高开发效率和规范代码. 但我们都知道在的Office VBE环境下却没有此工具,所以我决定编一个加载宏以方便VBA开发者使用.为了能更好的兼容,采用了英文版.此工具能大大加强和改善的VBA开发者的速度和效率.

VBA 环境下UserForm窗体menu编辑器及代码生成加载宏 作品的基本思路是模仿VB的菜单编辑器而制作.所以使用方法也是很类似:
首先注册加载此DLL.在VBE环境下,在窗体上点击右键,出现相应工具.
①菜单及热键设置:在“标题”中加入&带字母,如“文件(&F)”,菜单支持中英文;
②分隔线:将“标题”设置为“-”,即一个减号;
③设置好各菜单项目的级次,符合锯齿缩进即可,跟VB一样;(按save会有防错提示)
④按Preview时,窗体会生成的代码.在Preview窗体会模拟菜单出现.(所见即所得);
⑤按生成和插入代码,程序会自动写入相应的代码在模块中.模块名字按相应的规律生成.
⑥然后,菜单代码的相应的框架基本行了.具体可以启动VBE窗体进行测试.

另增加了: 1. 菜单Tempelate模板保存,导入导出功能.--此功能同时支持VB,VBA. 也就是说可以直接从VB的窗体菜单中借鉴到VBA中来用. 具体的操作步骤是: 直接打开带有菜单的VB窗体,然后把它存为菜单模板.以供在VBA中使用.反之VBA转到VB中使用也行.
关于如何load和unload此DLL,属于基本问题在这就不重复了.

VBA UserForm menu editor.zip

177.22 KB, 下载次数: 936

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-1-20 14:40 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
放上动画演示,以方便网友了解操作步骤.
VBA UserForm menu editor.gif

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-1-21 09:07 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
罗老弟最近是佳作连连,可喜可贺.

TA的精华主题

TA的得分主题

发表于 2010-1-24 15:51 | 显示全部楼层

stanleypan 大师出手就是佳作啊

TA的精华主题

TA的得分主题

发表于 2010-2-6 19:59 | 显示全部楼层
比如说直接把菜单写成一个类,然后只要在要使用菜单的窗体内部添加相应的代码就可以直接使用了,并且菜单类返回事件,这样就更像VB的菜单了。这样的话在一个工程中只会多出一个类文件,而不会是每多一个窗体使用菜单就多了一个模块……再说像楼主那样直接使用模块中的函数做回调函数会有一些问题,比如在程序运行过程中直接点击调试的“终止”可能会导致整个Excel崩溃。

TA的精华主题

TA的得分主题

发表于 2010-2-6 20:00 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-2-6 19:39 | 显示全部楼层
南宫飘雪友,针对你的提议,能否给个具体的例子研究一下.

TA的精华主题

TA的得分主题

发表于 2010-2-6 13:35 | 显示全部楼层
顺便说一句,自动生成的代码似乎是用模块来拦截菜单消息的,这种方式似乎不是很方便,可以考虑使用类方式,这样可以像普通VB菜单一样直接在窗体中写事件代码……当然,仅仅是提议。

TA的精华主题

TA的得分主题

发表于 2010-2-6 13:32 | 显示全部楼层
在2003版中找不到菜单?是不是有Bug?(已经注册过那个DLL)

TA的精华主题

TA的得分主题

发表于 2010-2-10 12:30 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
版主辛苦了,支持。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-27 04:12 , Processed in 0.043402 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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