怎样使用VBA枚举所有菜单?

2025-10-03 21:00:48

1、首先在开发工具中打开VBA编辑器

怎样使用VBA枚举所有菜单?

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

怎样使用VBA枚举所有菜单?

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

怎样使用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

怎样使用VBA枚举所有菜单?

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

怎样使用VBA枚举所有菜单?

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