在如何用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")


发表评论