预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

..-..word.zl-工具栏和菜单栏工具栏和菜单栏的运用更多时候是伴随着加载宏和个性Excel界面的出现而出现。在不断加深对ExcelVBA的理解和运用,我们编程的思路渐渐会转到考虑代码的通用性和应用方案上,将代码和Excel数据源分开。因此,制作更多具有通用功能的加载宏〔不管是xla加载宏,还是加载宏〕,可以最大极限的发挥VBA编程的魅力,而不是要求用户强制启用宏。也正是因为这个原因,在我们去学习工具栏和菜单栏时,要明白的一个道理是,制作工具栏仅仅是为了加载宏等具体运用的实现,不要一味地去追求工具栏的花哨。一、几个根本概念在开场本节之前,先理解什么是命令栏?命令栏〔mandBars〕:是工具栏、菜单栏和快捷菜单的统称。工具栏:带有按钮和选项的工具条,使用这些按钮和选项可执行命令。如下列图:菜单栏:标题栏下的水平栏,包括菜单名称。如下列图快捷菜单:又叫弹出式菜单,鼠标右键单击。如下列图。二、mandBars集合对象通过上面几幅图片的直观概念之后,我们接下来理解mandBar集合。所有的工具栏和菜单栏代码都是围绕mandbars集合展开的。mandBarControls集合包含三种类型控件。mandBarButton:代表命令栏中的一个按钮控件〔按钮控件:工具栏上的按钮,或菜单、子菜单或快捷菜单上的菜单项,当单击它们时会运行一条命令。工具栏按钮和菜单项共享一样的属性和方法。〕。该控件的Type属性必须是msoControlButton。〕mandBarboBox:代表命令栏中的一个组合框控件〔组合框控件:菜单栏、工具栏、菜单、子菜单或快捷菜单上的自定义编辑框、下拉列表框或组合框。当工具栏垂直停靠时,它所包含的任何自定义组合框控件都不可见。〕。该控件的Type属性必须是msoControlEdit、msoControlDropdown、msoControlboBox、msoControlButtonDropdown、msoControlSplitDropdown、msoControlOCXDropdown、msoControlGraphicbo或msoControlGraphicDropdown。〕mandBarPopup:代表命令栏中的一个弹出式控件〔弹出式控件:是菜单栏或工具栏上的置或自定义控件,当单击它时显示菜单,或者是菜单、子菜单、或快捷菜单上的置或自定义菜单项,当指针放在其上时显示子菜单。〕。该控件的Type属性必须是msoControlPopup、msoControlGraphicPopup、msoControlButtonPopup、msoControlSplitButtonPopup或msoControlSplitButtonMRUPopup。几种常见属性,参数和方法:VisibleNameTypePostionTemporaryCaptionOnActionFaceIDStyleEnableTop/Left/Width/HightBeginGroupControlsAdd方法Findcontrols方法下面将通过实例来解释上述属性、参数和方法的运用。三、实例代码建立一命令栏Application.mandBars.Add即建立了一个工具栏。一般的,我们会相应的定义一个mandbar对象来操作这个自定义工具栏,如下代码:SubAddmandBar1()'添加一自定义工具栏DimcmdBarAsmandBarSetcmdBar=Application.mandBars.AddEndSub但,Excel好似任何变化,这是因为自定义工具栏的默认Visible为False。SubAddmandBar2()'添加一自定义工具栏,并显示DimcmdBarAsmandBarSetcmdBar=Application.mandBars.AddcmdBar.Visible=TrueEndSubPosition例如Position:默认值为msoBarFloating常量说明msoBarLeft、msoBarTop、msoBarRight和msoBarBottom指定新命令栏的左侧、顶部、右侧和底部坐标msoBarFloating指定新命令栏不固定msoBarPopup指定新命令栏为快捷菜单msoBarMenuBar仅适用于Macintosh机SubAddmandBar3()DimcmdBarAsmandBarSetcmdBar=Application.mandBars.Add(,,,Temporary:=True)WithcmdBar.Name="MyBar".Visible=True.Position=msoBarTopEndWithEndSubSubAddmandBar4()DimcmdBarAsmandBarSetcmdB