Excel菜单和工具栏概要(1)

1 概述
在开始本文之前,先介绍几个常用的概念。
1.1 菜单栏。Excel有两种内置的菜单栏——工作表菜单栏和图表菜单栏。
WorksheetMenu
图1:工作表菜单栏
ChartMenu
图2:图表菜单栏
通常显示“工作表菜单栏”,在选中图表后显示“图表菜单栏”。
1.2 工具栏,它们通常包含一个或多个按钮或其它控件。
ToolBar
图3:Excel中的标准工具栏
1.3 快捷菜单,即在工作表中某个对象上单击鼠标右键时,会弹出与该对象相关的一组菜单,以方便对该对象进行操作。
ShortMenu
图4:在某单元格上单击鼠标右键后弹出的快捷菜单
在本文中,我们把上述菜单栏、工具栏和快捷菜单统称为“命令栏”。
2 Excel帮助中关于命令栏的对象模型,如下图。
ObjectMedel1
图5-1:命令栏对象集合
ObjectMedel2
图5-2:命令栏
ObjectMedel3
图5-3:命令栏控件
ObjectMedel7
图5-4:命令栏控件对象集合
ObjectMedel4
图5-5:弹出式菜单控件
ObjectMedel5
图5-6:命令栏按钮控件
ObjectMedel6
图5-7:命令栏组合框控件
3 命令栏对象集合(CommandBars集合)
CommandBars集合包含Excel中的所有命令栏,即是所有CommandBar对象的集合,而每个CommandBar对象都有一个Controls集合。CommandBars集合的父对象是Application对象。
通过CommandBars集合的Type属性,可以确定命令栏的类型:
(1)Type属性值为0代表工具栏,其常量为msoBarTypeNormal。
(2)Type属性值为1代表菜单栏,其常量为msoBarTypeMenuBar。
(3)Type属性值为2代表快捷菜单,其常量为msoBarTypePopup。
下面的过程代码将列出Excel中所有的命令栏:

Visual Basic:
  1. Sub ShowCommandBarNames()
  2. Dim Row As Integer
  3. Dim cBar As CommandBar
  4.  
  5. Cells(1, 1) = "索引值"
  6. Cells(1, 2) = "名称"
  7. Cells(1, 3) = "类型"
  8. Cells(1, 4) = "是否内置"
  9. Range(Cells(1, 1), Cells(1, 4)).Font.Bold = True
  10. Row = 2
  11. For Each cBar In CommandBars
  12. Cells(Row, 1) = cBar.Index
  13. Cells(Row, 2) = cBar.Name
  14. Select Case cBar.Type
  15. Case msoBarTypeNormal
  16. Cells(Row, 3) = "工具栏"
  17. Case msoBarTypeMenuBar
  18. Cells(Row, 3) = "菜单栏"
  19. Case msoBarTypePopup
  20. Cells(Row, 3) = "快捷菜单"
  21. End Select
  22. Cells(Row, 4) = cBar.BuiltIn
  23. Row = Row + 1
  24. Next cBar
  25. Cells.Columns.AutoFit
  26. End Sub

示例工作簿下载地址:
下载Excel命令栏清单
<未完待续>


提示:您可以在评论中使用HTML标签,且任何与HTML标签相同的符号都会被理解为HTML标签并以相应的格式显示.如果您的评论中有代码,可以使用相应的标签,例如,如果有VB或VBA代码,则可以使用[vb]标签,即[vb]放置的代码[/vb],这样会很清晰地显示代码.

1条评论

  1. liuxujing 说到:

    多谢。哈哈

留下回复