代码解析:myTools过程使用Add方法在Excel工作表菜单栏中加一个标题为“VBA学习”的菜单项和3个子菜单。
第2行到第5行代码声明变量类型。
第6,7行代码使用Array函数创建数组用于保存子菜单的名称,和菜单的动作
第9行代码,在添加菜单项前先使用Reset方法重置菜单栏以免重复添加菜单项。Reset方法重置一个内置控件,恢复该控件原来对应的动作,并将各属性恢复成初始状态,
语法如下:expression.Reset
参数expression 是必须的,返回一个命令栏或命令栏控件对象。
第10行代码,使用Add方法在Excel工作表菜单栏中添加菜单项。因为在本例中将添加的是带有子菜单的菜单项,所以将参数Type设置为弹出式控件。
第12行代码,设定新添加菜单项的Caption属性为“VBA学习”。Caption属性返回或设置命令栏控件的标题。
第13行代码,设置新添加菜单项的BeginGroup属性为True,分组显示。
第14行到第18行代码,在“VBA学习”菜单项上添加3个子菜单并设置其Caption属性。和相应的动作。
好了,我们看我们的运行效果:
运行前界面:
点击添加菜单:
点击“VBA代码解决方案1”:弹出对话框效果。
上述代码中:
Sub MynzDelmyTools()
Application.CommandBars("Worksheet menu bar").Reset
End Sub
是重置菜单,也就是说在退出前要重置一下菜单。
关于菜单内容还有一些内容,或许充实到结集后的文章中。本篇的文章太长了。
今日内容回向:
1 如何设置菜单?
2 如何让菜单响应不同的动作?