ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Excel VBA > 如何获取当前的Excel版本内置的工具栏的名称和类型?

如何获取当前的Excel版本内置的工具栏的名称和类型?

作者:绿色风 分类: 时间:2022-08-18 浏览:148
楼主
水星钓鱼
Q:虽然Excel 2007以后很多菜单都被“功能区”替代,但是还是有些菜单是可以用代码来控制修改的,如单元格的右键菜单。
要表示这些菜单,必须知道这些菜单对应的Name,才能用Application.CommandBars返回这些菜单。如何才能知道各菜单对应的Name呢?
A:可以使用以下代码列出当前Excel版本中的所有菜单的名称和类型
  1. Sub xyf()
  2.     Dim oCmdBar As CommandBar
  3.     Dim i, temp
  4.     [a1:c1] = Array("在集合中引用的名称", "当前系统的菜单名称", "类型")
  5.     i = 2
  6.     For Each oCmdBar In Application.CommandBars
  7.         Select Case oCmdBar.Type
  8.             Case 0
  9.                 temp = "msoBarTypeNormal"
  10.             Case 1
  11.                 temp = "msoBarTypeMenuBar"
  12.             Case 2
  13.                 temp = "msoBarTypePopup"
  14.         End Select
  15.         Cells(i, 1) = oCmdBar.Name
  16.         Cells(i, 2) = oCmdBar.NameLocal
  17.         Cells(i, 3) = temp
  18.         i = i + 1
  19.     Next
  20. End Sub
如下图所示:

 
根据图示,如果要表示单元格的右键菜单可以使用Application.CommandBars("cell")来表示。
附件如下:

菜单名称及其对应的类型.rar

2楼
罗刚君
同样是右键菜单,2003 2007和2010的内部编码也是有分别的
微软居然不统一.....
3楼
水星钓鱼
确实是,难说日后这个对象不会被废弃。

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap