打印本文 关闭窗口 | |
VBA开发----在Office中通过VBA开发工具栏和菜单 | |
作者:佚名 文章来源:网络 点击数 更新时间:2012-5-28 10:37:30 文章录入:admin 责任编辑:admin | |
|
|
工具栏及其控件对象 在Office中通过VBA开发工具栏和菜单,需使用Office提供的CommandBar、commandBarButton、CommandBarComboBox等对象,这些对象即代表工具栏、工具栏按钮和工具栏下拉框,通过这些对象可编制出各类复杂的工具栏或菜单。 1.CommandBars集合 该集合代表Office所有的工具栏,可用名称或索引号指定菜单栏或工具栏,但仅可用名称指定一个菜单、快捷菜单或子菜单。如两个或两个以上自定义菜单或子菜单名称相同,则返回第一个具有该名称的对象。 其Add方法用于新建一个工具栏,并返回 CommandBar对象。 语法:expression.Add(Name, Position, MenuBar, Temporary) 参数说明: Name为可选的Variant 类型,代表新工具栏的名称。如果省略,则使用默认的名称; Position为可选的Variant 类型,代表新工具栏的位置。该参数值可通过VBA常量进行设置,如msoBarLeft、msoBarTop、msoBarRight、msoBarBottom常量(设置新工具栏位于软件工具栏中位置);msoBarFloating常量(代表新工具栏可移动);msoBarPopup常量(代表新工具栏为快捷菜单)等; MenuBar为可选的Variant 类型,用于设置是否用新工具栏替换活动工具栏; Temporary为可选的Variant 类型,用于设置新工具栏是否暂时有效。
2.CommandBar对象 该对象代表应用程序中的工具栏,新建工具栏的控件均以该对象为载体。 (1)Controls属性:返回CommandBarControls对象,代表指定工具栏中的所有控件。 (2)NameLocal属性:返回由应用程序版本语言所设置的工具栏名称,如对软件的内置工具栏设置会出现错误。 (3)Position属性:返回或设置工具栏的位置,值可通过VBA常量进行设置,如msoBarLeft、msoBarTop、msoBarRight、msoBarBottom、msoBarFloating、msoBarPopup或msoBarMenu等。 (4)Type属性:返回或设置工具栏的类型,值可通过VBA常量进行设置,如msoBarTypeNormal(工具栏为普通类型)、msoBarTypeMenuBar(工具栏为菜单类型)、msoBarTypePopup(工具栏为弹出菜单类型)等。 (5)Reset方法:将内置工具栏重置为默认设置,在恢复软件原有工具栏或菜单时非常有用。重置内置工具栏将删除其中的自定义控件并恢复其内置控件。
3.CommandBarControls集合 该集合代表工具栏中的所有工具栏控件。 其Add方法用于在CommandBarControls集合中增加一个工具栏控件。
4.CommandBarControl对象 该对象代表工具栏控件,对自定义工具栏控件,可使用 CommandBarButton、CommandBarComboBox和CommandBarPopup对象进行定义,而对软件内置的控件进行操作,而该控件又无法使用上述三个对象表示,则可使用CommandBarControl对象。 (1)BeginGroup属性:用于设置工具栏控件是否分组显示。 (2)Caption属性:用于设置工具栏控件的标题文字,并可作为默认的控件屏幕提示。 (3)Id属性:用于设置CommandBarButton、CommandBarComboBox和CommandBarControl对象的功能,这些控件可直接设置为内置工具栏控件的ID,这样该控件即具备了软件内置的相应功能,自定义控件的ID属性均需设置为1。 (4)Copy方法:将工具栏控件复制到已有的工具栏中。 语法:expression.Copy(Bar, Before) 参数说明: Bar为可选的Variant 类型,代表目标工具栏,如果省略,则控件将复制到自身所在的工具栏; Before为可选的Variant 类型,代表新控件在指定工具栏的位置,即新控件将添加至该位置的控件前,如果省略,则控件将复制到工具栏的末尾。 (5)Type属性:返回工具栏控件的类型,可通过VBA常量进行引用,常用的工具栏控件类型如下表所示: 常量名称 含义 msoControlButton 控制按钮 msoControlButtonDropdown 带下拉列表的按钮 msoControlButtonPopup 带弹出菜单的按钮 msoControlComboBox 下拉组合控制框 msoControlDropdown 下拉列表控制框 msoControlEdit 文本框 msoControlExpandingGrid 可扩展的表格 msoControlGraphicCombo 图像下拉组合框 msoControlGraphicDropdown 图像下拉列表框 msoControlGrid 表格 msoControlPopup 弹出菜单 5.CommandBarButton对象 该对象代表工具栏的按钮控件。 (1)OnAction属性:返回或设置Visual Basic代码过程名(该代码过程不可使用参数),该过程将在单击按钮后运行。 (2)Style属性:返回或设置工具栏按钮的显示方式。值可通过VBA常量进行设置,常用的工具栏按钮控件类型如下表所示: 常量名称 含义 msoButtonIcon 包含图标的按钮 msoButtonCaption 包含标题的按钮 ButtonIconandCaption 包含图标和标题的按钮 msoButtonIconAndCaptionBelow 包含图标和标题,且标题位于底部的按钮 msoButtonIconAndWrapCaption 包含图标和标题,且标题自动换行的按钮 msoButtonWrapCaption 包含标题,且标题自动换行的按钮 (3)TooltipText属性:返回或设置工具栏按钮控件的屏幕提示。 (4)FaceId属性:返回或设置工具栏按钮的图标编号,设置工具栏按钮的外观而非其功能,自定义图标的工具栏按钮,其 FaceId属性值为 0。 (5)CopyFace方法:将工具栏按钮控件的图标复制到剪贴板。 (6)PasteFace方法:将剪贴板的图标内容粘贴至工具栏按钮控件。 (7)Execute方法:运行工具栏控件对应的过程或内置命令。
6.CommandBarComboBox对象 该对象代表工具栏中的组合框控件。 (1)DropDownLines属性:返回或设置组合框控件的行数,如将其设置为 0,则控件行数将取决于列表的条目数。 (2)List属性:返回或设置组合框控件中某列表项的值,对内置组合框控件只读。 (3)OnAction属性:返回或设置Visual Basic代码过程名(该代码过程不可使用参数),该过程在单击或更改组合框控件值时运行。 (4)Type属性:返回或设置组合框控件的显示方式。 (5)AddItem方法:用于在组合框控件中添加一个列表项,且该组合框控件必须为自定义的控件。 (6)RemoveItem方法:用于从组合框控件中删除一个列表项。 |
|
打印本文 关闭窗口 |