本帖最后由 xiaojun0301 于 2012-8-28 05:21 编辑
要在Excel 2003中执行许多与自定义菜单栏和菜单相关的常见任务,请使用“自定义”对话框。要执行更多高级任务或为自定义程序定制菜单栏和菜单,可能需要创建 Microsoft Visual Basic for Applications (VBA) 代码。有关如何使用“自定义”对话框的更多信息,请单击“帮助”菜单上的“Microsoft Excel 帮助”,在“Office 助手”或“应答向导”中键入自定义菜单栏,然后单击“搜索”以查看主题。
本文帮助您学习编写 VBA 代码,掌握自定义菜单栏、菜单、菜单项、子菜单和快捷菜单的方法。
Microsoft 提供的编程示例只用于说明目的,不附带任何明示或默示的保证。这包括但不限于对适销性或特定用途适用性的默示保证。本文假定您熟悉所演示的编程语言和用于创建和调试过程的工具。Microsoft 的支持工程师可以帮助解释某个特定过程的功能,但是他们不会修改这些示例以提供额外的功能或构建过程以满足您的特殊需求。
命令栏
在 Microsoft Office 中,所有工具栏、菜单栏和快捷菜单都是被作为“命令栏”这样一种对象以编程方式控制的。下列所有项目在 VBA 中皆用 CommandBar 对象表示: 1.菜单栏、工具栏和快捷菜单。 2.菜单栏和工具栏上的菜单。
3.菜单、子菜单和快捷菜单上的子菜单。您可以修改任何内置的菜单栏和工具栏,还可以创建和修改用您自己的 VBA 代码交付的自定义工具栏、菜单栏和快捷菜单。您可以将程序功能以单个按钮的形式放在工具栏上,或以命令名称组的形式放在菜单上。因为工具栏和菜单都是命令栏,所以可以使用同一类型的控件。
在 VBA 和 Microsoft Visual Basic 中,按钮和菜单项用 CommandBarButton 对象表示。显示菜单和子菜单的弹出控件用 CommandBarPopup 对象表示。在以下示例中,名为“Menu”的控件和名为“Submenu”的控件都是用于显示菜单和子菜单的弹出控件,并且这两个控件是各自的控件集中唯一的 CommandBar 对象。
在 Microsoft Excel 中,菜单栏和工具栏被视为是同一种可编程对象,即 CommandBar 对象。可以使用 CommandBar 对象中的控件来指代菜单、菜单项、子菜单和快捷菜单。可以在 Type 参数中使用一个常量为每个控件指定要用于菜单、子菜单或命令的控件类型。
u 控件常量 ü 下面是 Excel 2003 中的各种控件常量的列表,这些常量指定用于特定菜单栏控件的图形控件类型: ? MsoControlActiveX* ü MsoControlAutoCompleteCombo*** ü MsoControlButton ü MsoControlButtonDropdown ü MsoControlButtonPopup ü MsoControlComboBox ü MsoControlCustom ü MsoControlDropdown ü MsoControlEdit ü MsoControlExpandingGrid ü MsoControlGauge ü MsoControlGenericDropdown ü MsoControlGraphicCombo ü MsoControlGraphicDropdown ü MsoControlGraphicPopup ü MsoControlGrid ü MsoControlLabel ü MsoControlLabelEx*** ü MsoControlOCXDropDown ü MsoControlPane ** ü MsoControlPopup ü MsoControlSpinner*** ü MsoControlSplitButtonMRUPopup ü MsoControlSplitButtonPopup ü MsoControlSplitDropdown ü MsoControlSplitExpandingGrid ü MsoControlWorkPane** *表示 Microsoft Excel 2000 中的新增项 ü ** 表示 Microsoft Excel 2002 中的新增项 ü *** 表示 Microsoft Office Excel 2003 中的新增项 |