怎样使用VBA枚举所有菜单?
1、首先在开发工具中打开VBA编辑器

2、在单元格区域当中输入一些内容作为例子

3、在VBA编辑器中插入模块

4、在模块当中输入如下代码,然后运行
Sub Excel 2003样式菜单()
On Error Resume Next
Dim Menu As CommandBarControl, SubMenu As CommandBarControl,
SubsubMenu As CommandBarControl, i, n, m
Application.CommandBars(1).Controls("怀旧菜单(&F)").Delete '删除已有菜单
Set Menu=Application.CommandBars(1).Controls.Add(msoControlPopup, , , , True)
'新增一个下拉式菜单
Menu.Caption="怀旧菜单(&F)" '为菜单命名
For Each n In Application.CommandBars(1).Controls '遍历Excel菜单
Set SubMenu=Menu.Controls.Add(msoControlPopup, 1, , , True)
'添加子菜单,仍然是下拉菜单
With SubMenu
.Caption=n.Caption '菜单名为Excel内部命名
.BeginGroup=True '开始一个新组
End With
For Each m In n.Controls '遍历Excel二级菜单
With SubMenu.Controls.Add(msoControlButton, 1, , , True) '添加子菜单
.Caption=m.Caption '菜单名为Excel内部命名
.BeginGroup=True '开始一个新组
.FaceId=m.FaceId '为菜单设置图标,为Excel内部图标
End With
Next m
Next n
End Sub

5、单击【加载项】打开功能区,一个刚建立的2003风格的菜单呈现出来,如图

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:74
阅读量:171
阅读量:39
阅读量:107
阅读量:99