CommandBar 对象

优质
小牛编辑
130浏览
2023-12-01

全部显示

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