![]() ![]() |
|||||||||||
Excel2003中通过VBA实现自定义菜单和菜单栏(2) | |||||||||||
作者:佚名 文章来源:网络 点击数 更新时间:2012-5-28 10:45:42 文章录入:admin 责任编辑:admin | |||||||||||
|
|||||||||||
4.1 Add方法应用于CommandBars对象
新建一个命令栏并添加到命令栏集合。返回 CommandBar 对象。 expression.Add ( Name , Position , MenuBar , Temporary ) l expression必需。该表达式返回一个 CommandBars 对象。 l Name(Variant 类型)可选。新命令栏的名称。如果忽略该参数,则为命令栏指定默认名称(例如:Custom 1)。 l Position(Variant 类型)可选。新命令栏的位置或类型。可以为下表所列的 MsoBarPosition 常量之一。
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 4.8隐藏命令栏
以下代码示例从可用菜单栏列表中删除内置“图表”菜单栏: Sub MenuBar_Display() CommandBars("Chart").Enabled = False End Sub 4.9显示命令栏
以下代码示例从可用菜单栏中添加内置“图表”菜单栏: Sub MenuBar_Display() CommandBars("Chart").Enabled = True End Sub 4.10还原内置命令栏
还原菜单栏会重置(菜单和菜单项的)默认控件。示例代码还原内置“图表”菜单栏: Sub MenuBar_Restore() CommandBars("Chart").Reset End Sub 注意:您只能重置内置菜单栏,不能重置自定义菜单栏。 |
|||||||||||
![]() ![]() |