如何用vba获取vbe编辑环境中的各个内置菜单命令栏的名称?

如何用vba代码返回excel应用程序中的所有内置命令栏的名称? 一文中介绍了如何用vba获取excel应用程序的各个内置命令栏的名称。

有了名称就可以获取具体的命令栏对象,然后就可以添加自定义命令按钮。

按下组合快捷键ALT+F11进入VBE的编辑环境中也有各种菜单命令栏。同样的可以使用如下的代码获得VBE中的内置菜单命令栏。

其中主要涉及的对象是CommandBar

Sub QQ1722187970()
    On Error Resume Next
    Dim obj As CommandBar
    Dim oWK As Worksheet
    Set oWK = ActiveSheet
    oWK.Cells.Clear
    i = 2
    For Each obj In Excel.Application.VBE.CommandBars
        With oWK
            obj.Reset
            .Range("a1:b1") = Array("命令栏名称", "命令栏中文名称")
            .Cells(i, "a") = obj.Name
            .Cells(i, "b") = obj.NameLocal
            i = i + 1
            '显示可以显示的菜单栏
            obj.Visible = True
        End With
    Next
End Sub

结果如下表所示

命令栏名称 命令栏中文名称
菜单条 菜单条
标准 标准
编辑 编辑
调试 调试
用户窗体 用户窗体
Document 箭头 2 大小
Project Window Insert Project Window Insert
Toggle Toggle
Code Window Code Window
Code Window (Break) Code Window (Break)
Watch Window Watch Window
Immediate Window Immediate Window
Locals Window Locals Window
Project Window Project Window
Project Window (Break) Project Window (Break)
Object Browser Object Browser
MSForms MSForms
MSForms Control MSForms Control
MSForms Control Group MSForms Control Group
MSForms Palette MSForms Palette
MSForms Toolbox MSForms Toolbox
MSForms MPC MSForms MPC
MSForms DragDrop MSForms DragDrop
Toolbox Toolbox
Toolbox Group Toolbox Group
Property Browser Property Browser
Property Browser Property Browser
Docked Window Docked Window
Clipboard HTML 控件
System 历史记录

其中代码窗口的右键快捷菜单为

 Excel.Application.VBE.CommandBars ("Code Window")

 

       

发表评论