4.1 Add方法应用于CommandBars对象
新建一个命令栏并添加到命令栏集合。返回 CommandBar 对象。
expression.Add ( Name , Position , MenuBar , Temporary )
l expression必需。该表达式返回一个 CommandBars 对象。
l Name(Variant 类型)可选。新命令栏的名称。如果忽略该参数,则为命令栏指定默认名称(例如:Custom 1)。
l Position(Variant 类型)可选。新命令栏的位置或类型。可以为下表所列的 MsoBarPosition 常量之一。
常量 |
说明 |
msoBarLeft、msoBarTop、msoBarRight 和 msoBarBottom |
指定新命令栏的左侧、顶部、右侧和底部坐标 |
msoBarFloating |
指定新命令栏不固定 |
msoBarPopup |
指定新命令栏为快捷菜单 |
msoBarMenuBar |
仅适用于 Macintosh 机 |
l MenuBar (Variant类型)可选。设置为 True 将以新命令栏替换活动菜单栏。默认值为 False。
l Temporary (Variant类型)可选。设置为 True 将使新命令栏为临时命令栏。临时命令栏在关闭容器应用程序时删除。默认值为 False。
4.2返回命令栏控件的 ID
以下代码示例返回活动菜单栏的 ID:
Sub Id_Control ()
Dim myId as Object
Set myId = CommandBars("Worksheet Menu Bar").Controls("工具(&T)")
MsgBox myId.Caption & Chr(13) & MyId.Id
End Sub
4.3确定活动菜单栏的名称
以下代码示例返回活动菜单栏的名称:
Sub MenuBars_GetName()
MsgBox CommandBars.ActiveMenuBar.Name
End Sub
4.4保存(内置或自定义菜单栏的)活动状态
您可能需要将 originalMenuBar 变量声明为公共变量,这样,子例程就可以在其他子例程(如 Auto_Close 子例程)中使用该变量。以这种方式声明和使用该变量会将用户的上一个菜单栏重置为初始状态。以下示例宏重置菜单栏:
Public originalMenuBar as Object
Sub MenuBars_Capture()
Set originalMenuBar = CommandBars.ActiveMenuBar
End Sub
4.5创建自定义命令栏
以下代码示例创建名为 My Command Bar 的自定义命令栏:
Sub MenuBar_Create()
Application.CommandBars.Add Name:="My command bar"
End Sub
您还可以通过使用 Temporary:=True 参数来创建自定义命令栏。Temporary:=True 参数允许命令栏在您退出 Excel 时自动重置。以下代码使用 Temporary:=True 参数创建自定义命令栏:
Sub MenuBar_Create()
Application.CommandBars.Add Name:="My command bar", Temporary:=True
End Sub
4.6显示自定义命令栏
以下示例创建并显示自定义的“My Custom Bar”菜单栏,然后用它替换内置的菜单栏:
Sub MenuBar_Show()
Dim myNewBar As Object
Set myNewBar = CommandBars.Add(Name:="Custom1", Position:=msoBarFloating)
'您必须先启用您的自定义菜单栏,然后看见它。
'使菜单栏添加到自定义对话框列表中的可用菜单栏上。
'设置菜单属性设置为True取代内置的菜单栏。
myNewBar.Enabled = True
myNewBar.Visible = True
End Sub
4.7删除自定义命令栏
以下代码示例删除名为“Custom 1”的自定义菜单栏:
Sub MenuBar_Delete()
CommandBars("Custom1").Delete
End Sub
以下代码示例从可用菜单栏列表中删除内置“图表”菜单栏:
Sub MenuBar_Display()
CommandBars("Chart").Enabled = False
End Sub
以下代码示例从可用菜单栏中添加内置“图表”菜单栏:
Sub MenuBar_Display()
CommandBars("Chart").Enabled = True
End Sub
还原菜单栏会重置(菜单和菜单项的)默认控件。示例代码还原内置“图表”菜单栏:
Sub MenuBar_Restore()
CommandBars("Chart").Reset
End Sub
注意:您只能重置内置菜单栏,不能重置自定义菜单栏。
{$MY_AD_Squar_article_left} |