全部显示

CommandBar 对象

         
CommandBars (CommandBar)
CommandBarControls (CommandBarControl)
CommandBarButton
CommandBarComboBox
CommandBarPopup

本主题中的某些内容可能不适用于某些语言。

代表容器应用程序中的一个命令栏CommandBar 对象是 CommandBars 集合中的成员。

使用 CommandBar 对象

CommandBars(index) 可返回一个 CommandBar 对象;此处 index 是该命令栏的名称或索引号。以下示例逐个筛选命令栏集合中的每个成员,以查找命令栏“Forms”。如果找到,那么本示例显示该命令栏并保护其定位状态。在本示例中,变量 cb 代表一个 CommandBar 对象。

foundFlag = False
For Each cb In CommandBars
    If cb.Name = "Forms" Then
        cb.Protection = msoBarNoChangeDock
        cb.Visible = True
        foundFlag = True
    End If
Next cb
If Not foundFlag Then
    MsgBox "The collection does not contain a Forms command bar."
End If

可用名称或索引号指定位于容器应用程序的有效菜单栏和工具栏列表中的菜单栏或工具栏,但只能用名称指定菜单、快捷菜单或子菜单(所有这些内容均可由 CommandBar 对象表示)。本示例可实现:在“工具”菜单底部添加一个新的菜单项。单击该菜单项将运行过程“qtrReport”。

Set newItem = CommandBars("Tools").Controls.Add(Type:=msoControlButton)
With newItem
    .BeginGroup = True
    .Caption = "Make Report"
    .FaceID = 0
    .OnAction = "qtrReport"
End With

如果两个或两个以上的自定义菜单或子菜单具有相同的名称,那么 CommandBars(index) 返回第一个具有该名称的菜单。为确保返回正确的菜单或子菜单,可找到显示该菜单的弹出式控件,然后对该弹出式控件应用 CommandBar 属性以返回代表该菜单的命令栏。

假定工具栏“Custom Tools”中第三个控件是一个弹出式控件,本示例可将 Save 命令添加到该菜单的底部。

Set viewMenu = CommandBars("Custom Tools").Controls(3)
viewMenu.Controls.Add ID:=3    'ID of Save command is 3