当前位置: 首页 > 工具软件 > VBA-toolbox > 使用案例 >

vba返回excel中所有菜单命令栏CommandBar的名称

丌官晔
2023-12-01

命令栏对象为CommandBar
在office中命令栏包含有菜单栏、工具栏。
由于excel 2007版本开始,微软用ribbon代替了原来常用的菜单栏、工具栏。
所以很多菜单栏、工具栏都已经不存在了,但是有些还是有使用价值的,比如单元格右键菜单栏。
所有的菜单栏、工具栏集合在一起,构成了CommandBar集合对象。
如果要在vba中操作具体的命令栏,可以使用CommandBars ( index ),其中index是命令栏的名称或者索引号。
如果要知道所有命令栏的名称可以使用如下的代码:

Sub QQ1722187970()
    Dim oCB As CommandBar
    Dim oWK As Worksheet
    Set oWK = ActiveSheet
    oWK.Cells.Clear
    Dim iCol As Integer
    arr = Array("命令栏名称", "命令栏中文名称", "是否内置命令栏", "是否可见")
    iCol = UBound(arr) + 1
    oWK.Range("a1").Resize(1, iCol) = arr
    i = 2
    For Each oCB In Excel.Application.CommandBars
        With oWK
            .Cells(i, "a") = oCB.Name
            .Cells(i, "b") = oCB.NameLocal
            .Cells(i, "c") = oCB.BuiltIn
            .Cells(i, "d") = oCB.Visible
            i = i + 1
        End With
    Next
    oWK.Columns.AutoFit
End Sub

运行后的结果如下:

命令栏名称命令栏中文名称是否内置命令栏是否可见
Worksheet Menu Bar工作表菜单栏TRUETRUE
Chart Menu Bar图表菜单栏TRUEFALSE
Circular Reference循环引用TRUEFALSE
Standard常用TRUETRUE
Formatting格式TRUETRUE
PivotTable数据透视表TRUEFALSE
Chart图表TRUEFALSE
Reviewing审阅TRUEFALSE
Forms窗体TRUEFALSE
Stop Recording停止录制TRUEFALSE
External Data外部数据TRUEFALSE
Formula Auditing公式审核TRUEFALSE
Full Screen全屏显示TRUEFALSE
PivotChart Menu数据透视图菜单TRUEFALSE
Visual BasicVisual BasicTRUEFALSE
WebWebTRUEFALSE
Control Toolbox控件工具箱TRUEFALSE
Exit Design Mode退出设计模式TRUEFALSE
Refresh刷新TRUEFALSE
Watch Window监视窗口TRUEFALSE
PivotTable Field List数据透视表字段列表TRUEFALSE
Borders边框TRUEFALSE
Protection保护TRUEFALSE
Text To Speech文本到语音TRUEFALSE
List列表TRUEFALSE
Compare Side by Side并排比较TRUEFALSE
Workbook tabs工作簿标签TRUEFALSE
Cell单元格TRUEFALSE
ColumnTRUEFALSE
RowTRUEFALSE
Cell单元格TRUEFALSE
Column柱形图TRUEFALSE
RowTRUEFALSE
PlyPlyTRUEFALSE
XLM CellXLM 单元格TRUEFALSE
Document文档TRUEFALSE
Desktop桌面TRUEFALSE
Nondefault Drag and Drop非默认拖放TRUEFALSE
AutoFill自动填充TRUEFALSE
Button按钮TRUEFALSE
Dialog对话框TRUEFALSE
Series序列TRUEFALSE
Plot Area绘图区TRUEFALSE
Floor and Walls基底和墙纸TRUEFALSE
Trendline趋势线TRUEFALSE
Chart图表TRUEFALSE
Format Data Series设置数据系列格式TRUEFALSE
Format Axis设置坐标轴格式TRUEFALSE
Format Legend Entry设置图例项格式TRUEFALSE
Formula Bar编辑栏TRUEFALSE
PivotTable Context Menu数据透视表上下文菜单TRUEFALSE
Query查询TRUEFALSE
Query Layout查询布局TRUEFALSE
AutoCalculate自动计算TRUEFALSE
Object/Plot对象/图形区TRUEFALSE
Title Bar (Charting)标题栏(图表)TRUEFALSE
Layout框架TRUEFALSE
Pivot Chart Popup数据透视图快捷菜单TRUEFALSE
Phonetic Information拼音信息TRUEFALSE
Auto Sum自动合计TRUEFALSE
Paste Special Dropdown选择性粘贴下拉框TRUEFALSE
Find Format查找格式TRUEFALSE
Replace Format替换格式TRUEFALSE
List Range Popup列表区域快捷菜单TRUEFALSE
List Range Layout Popup列表区域布局快捷菜单TRUEFALSE
XML Range PopupXML 区域快捷菜单TRUEFALSE
List Range Layout Popup列表区域布局快捷菜单TRUEFALSE
NilNilTRUEFALSE
Filter Names筛选器名称TRUEFALSE
Excel PreviewerExcel 预览器TRUEFALSE
&Legacy Keyboard Support旧式键盘支持(&L)TRUEFALSE
RowTRUEFALSE
ColumnTRUEFALSE
Drawing绘图TRUEFALSE
WordArt艺术字TRUEFALSE
Picture图片TRUEFALSE
Shadow Settings阴影设置TRUEFALSE
3-D Settings三维设置TRUEFALSE
Drawing Canvas绘图画布TRUEFALSE
Organization Chart组织结构图TRUEFALSE
Diagram图示TRUEFALSE
Ink Drawing and Writing墨迹绘图与书写TRUEFALSE
Ink Annotations墨迹注释TRUEFALSE
Borders边框TRUEFALSE
Borders边框TRUEFALSE
Draw Border绘制边框TRUEFALSE
Chart Type图表类型TRUEFALSE
Pattern图案TRUEFALSE
Font Color字体颜色TRUEFALSE
Fill Color填充颜色TRUEFALSE
Line Color线条颜色TRUEFALSE
Drawing and Writing Pens绘图与书写笔TRUEFALSE
Annotation Pens批注笔TRUEFALSE
Drawing and Writing Pens绘图和书写笔TRUEFALSE
Annotation Pens注释笔TRUEFALSE
Order叠放次序TRUEFALSE
Nudge微移TRUEFALSE
Align or Distribute对齐或分布TRUEFALSE
Rotate or Flip旋转或翻转TRUEFALSE
Lines直线TRUEFALSE
Connectors连接线TRUEFALSE
AutoShapes自选图形TRUEFALSE
Callouts标注TRUEFALSE
Flowchart流程图TRUEFALSE
Block Arrows箭头总汇TRUEFALSE
Stars & Banners星与旗帜TRUEFALSE
Basic Shapes基本形状TRUEFALSE
Insert Shape插入形状TRUEFALSE
Shapes形状TRUEFALSE
Inactive Chart非活动图表TRUEFALSE
Excel ControlExcel 控件TRUEFALSE
Curve曲线TRUEFALSE
Curve Node曲线结点TRUEFALSE
Curve Segment曲线段TRUEFALSE
Pictures Context Menu图片上下文菜单TRUEFALSE
OLE ObjectOLE 对象TRUEFALSE
ActiveX ControlActiveX 控件TRUEFALSE
WordArt Context Menu艺术字上下文菜单TRUEFALSE
Rotate Mode旋转方式TRUEFALSE
Connector连接线TRUEFALSE
Script Anchor Popup脚本标记快捷菜单TRUEFALSE
Canvas PopupCanvas PopupTRUEFALSE
Organization Chart PopupOrganization Chart PopupTRUEFALSE
Diagram图表TRUEFALSE
Select选择TRUEFALSE
Layout版式TRUEFALSE
Task Pane任务窗格TRUEFALSE
  TRUEFALSE
Property Editor属性编辑器TRUEFALSE
Office ClipboardOffice 剪贴板TRUEFALSE
XML SourceXML 源TRUEFALSE
Research信息检索TRUEFALSE
XML DocumentXML 文档TRUEFALSE
Signatures签名TRUEFALSE
Document Actions文档操作TRUEFALSE
Clip Art剪贴画TRUEFALSE
Selection选择TRUEFALSE
Format Object设置对象格式TRUEFALSE
Document Management文档管理TRUEFALSE
Document Updates文档更新TRUEFALSE
Mail Merge Panes邮件合并窗格TRUEFALSE
Fax Service传真服务TRUEFALSE
Meeting Workspace会议工作区TRUEFALSE
Attachment Options附件选项TRUEFALSE
Accessibility Checker辅助功能检查器TRUEFALSE
Proofing校对TRUEFALSE
Dictionaries词典TRUEFALSE
Thesaurus同义词库TRUEFALSE
History历史记录TRUEFALSE
Share共享TRUEFALSE
Insights见解TRUEFALSE
Ribbon AdapterRibbon AdapterTRUEFALSE
Add Command添加命令TRUEFALSE
Built-in Menus内置菜单TRUEFALSE
Clipboard剪贴板TRUEFALSE
Envelope信封TRUEFALSE
  TRUEFALSE
Status Bar状态栏TRUETRUE
RibbonRibbonTRUETRUE

其中几个常用的命令栏是”Worksheet Menu Bar”、“Standard”、“Cell”,它们分别对应的是菜单命令、工具栏命令和单元格右键菜单命令。

比如要操作单元格右键菜单栏,可以用以下代码获得该菜单栏的对象:

Dim oCB As CommandBar
Set oCB= Excel.Application.CommandBars("Cell")

 

 类似资料: