MyVBA加载宏——添加自定义菜单01
时间:2022-07-22
本文章向大家介绍MyVBA加载宏——添加自定义菜单01,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
前面创建的MyVBA加载宏,设置成了启动就打开的加载宏,只有一个打开宏文件的功能:
在这个自启动的加载宏上,给它在VBA编辑器里,添加一个菜单栏:
主要功能就是收集一些常用的代码,方便快速的插入到VBA编辑器中。
这些常用的代码主要是一些一般不构成单独功能的代码,如果是构成单独功能的代码,个人习惯存储在文件中,就像前面提到过的vbapFunc.xlam中ScanDir之类的,是通过工具-引用,添加引用去使用。
这里添加的代码就是一些小的片段的代码,比如声明一个外部对象字典:
Dim dic As Object
Set dic = VBA.CreateObject("Scripting.Dictionary")
因为拼写单词有时候可能会写错,通过这种方式就可以避免这个问题。
当然这个也可以根据自己的习惯去添加,目的只是为了方便快速的插入一些经常用到的代码。
我们在VBE菜单——CommandBars对象里,对VBE里的菜单对象已经有了了解,要添加新的菜单,只要去操作CommandBars集合中的第一个对象即可:
Sub TestAdd()
Dim cmd As CommandBarControl
Set cmd = Application.VBE.CommandBars(1).Controls.Add(msoControlPopup)
cmd.Caption = "测试"
End Sub
这个时候,在菜单栏上就多了一个“测试”的菜单,msoControlPopup表示添加的是一个弹出式的Control,这种弹出式的可以继续在其上面添加CommandBarControl:
Sub TestAdd()
Dim cmd As CommandBarControl
Set cmd = Application.VBE.CommandBars(1).Controls.Add(msoControlPopup)
cmd.Caption = "测试"
Dim btn As CommandBarButton
Set btn = cmd.Controls.Add
btn.Caption = "测试按钮"
End Sub
这样“测试”菜单上就出来了一个按钮了。
删除这个菜单:
Sub TestDelete()
On Error Resume Next
Application.VBE.CommandBars(1).Controls("测试").Delete
End Sub
如果不存在"测试"这个菜单的时候,会报错,所以添加了一条忽略错误的语句。
- java队列,ArrayBlockingQueue
- 多线程使用wait和notify做生产者消费者模型导致线程全部假死
- 偏执的iOS逆向研究员:收集全版本的macOS iOS+越狱+内核调试
- java 多线程暂停与恢复:suspend,resume
- ArrayList底层实现
- Master-work模式
- Condition控制线程通信:java三个线程循环打印ABC
- java根据wait,notify,synchronize关键字自定义队列
- ActiveMQ几个重要的配置文件
- TiDB 在 Ping++ 金融聚合支付业务中的实践
- 设计模式之装饰模式
- JVM之垃圾回收
- java如何根据二进制流确定图片的类型
- 二分法查找
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法