| 网站首页 | 数学工具相关 | office软件使用 | 数学试卷 | 数学课件 | 数学教案 | 资源下载 | 请您留言 | 
  {$MY_AD_Banner}
您现在的位置: 数学工具网 >> office软件使用 >> 电脑技术 >> 正文 用户登录 新用户注册
[图文]Excel2003中通过VBA实现自定义菜单和菜单栏(2)         ★★★
Excel2003中通过VBA实现自定义菜单和菜单栏(2)
Excel2003中通过VBA实现自定义菜单和菜单栏(2)
作者:佚名 文章来源:网络 点击数: 更新时间:2012-5-28 10:45:42

4.1 Add方法应用于CommandBars对象

新建一个命令栏并添加到命令栏集合。返回 CommandBar 对象。

expression.Add ( Name , Position , MenuBar , Temporary )

l        expression必需。该表达式返回一个 CommandBars 对象。

l        NameVariant 类型)可选。新命令栏的名称。如果忽略该参数,则为命令栏指定默认名称(例如:Custom 1)。

l       PositionVariant 类型)可选。新命令栏的位置或类型。可以为下表所列的 MsoBarPosition 常量之一。

常量

说明

msoBarLeftmsoBarTopmsoBarRight 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

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

注意:您只能重置内置菜单栏,不能重置自定义菜单栏。

{$MY_AD_Squar_article_left}
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    专 题 栏 目
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    Excel2003中通过VBA实现…
    Excel2003中通过VBA实现…
    Excel2003中通过VBA实现…
    Excel2003中通过VBA实现…
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
     

    数学工具版权所有 Copyright © 2015-2020 mathtool.cn. All Rights Reserved .
    浙ICP备15030860号 联系方式 QQ:87735874 E_mail:zhangyongsc@163.com