CommandBar介绍-工具栏

来源:百度文库 编辑:神马文学网 时间:2024/04/29 19:30:32
2009年2月21日评论发表评论
接着介绍CommandBar的三个类型之一,工具栏。
工具栏
创建工具栏很简单,直接使用CommandBars集合的Add方法,除了需要指定Name属性之外,可以接受其它所有的默认属性值。可以通过Position属性指定工具栏显示的位置。
Position属性的值由msoBarPosition常数指定。
msoBarLeft: 0,工具栏显示在工作表左边 msoBarTop: 1,工具栏显示在工作表上边 msoBarRight: 2,工具栏显示在工作表右边 msoBarBottom: 3,工具栏显示在工作表下边 msoBarFloating: 4,工具栏浮动显示 msoBarMenuBar: 5,这个常数表示创建菜单栏,不用于创建工具栏 msoBarPopup: 6,这个常数表示创建弹出菜单
例如下面的代码创建名称为“Custom Toolbar”的位于工作表区域上边的工具栏。
Set newTool = CommandBars.Add(Name:="Custom Toolbar", Position:=msoBarTop)
创建好CommandBar对象后,可以使用它的Controls集合的Add方法添加控件,也就是工具命令栏。
可以通过Add方法参数中的Type属性指定命令栏的类型。Type属性由msoControlType常数指定。
msoControlButton:1,普通按钮类型 msoControlEdit:2,编辑框类型 msoControlDropdown:3,复合框类型,不能输入新项目 msoControlComboBox :4,和DropDown一样的复合框类型,允许输入新项目 msoControlPopup:10,弹出菜单
如果在Add方法中指定ID属性的值,可以创建内置命令栏,例如设置id:=3则创建“保存”命令栏,不需要知道OnAction属性,点击该命令栏将执行默认保存命令。
还可以设置命令栏的Style属性。Style属性由msoButtonStyle或msoComboStyle常数指定。
msoButtonStyle常数:
msoButtonAutomatic:0,默认值,对于菜单栏,等于msoButtonIconAndCaption,对于工具栏,等于msoButtonIcon msoButtonCaption:2,只显示标题,忽略图标 msoButtonIcon:1,在工具栏上只显示图标,在菜单栏上只显示标题 msoButtonIconAndCaption:3,显示图标,并在图标右边显示标题 msoButtonIconAndCaptionBelow:7,对于菜单栏,等同于msoButtonIconAndCaption,对于工具栏,在图标下方显示标题 msoButtonWrapCaption:14 ,同msoButtonCaption类似,只是如果标题太长时分行显示
msoComboStyle常数:
msoComboLabel:1,左边有标题 msoComboNormal:0,没有标题
如果命令栏的Type属性设置为msoControlComboBox,该命令栏可以使用ComboBox控件的各种方法和属性,例如AddItem方法、Clear方法等。如果创建时设置了Caption属性为“请选择:”,则可以使用Controls(”请选择:”)来表示该复合框命令栏。例如下面的代码:
With CommandBars("Custom Toolbar").Controls("请选择:")
下面是一个创建工具栏的完整例子。
Sub CreateToolBar()Dim newTool As CommandBarDim i As Integer '如果发现有相同工具栏,删除该工具栏 On Error Resume NextCommandBars("Custom Toolbar").DeleteOn Error GoTo 0 '添加名称为“Custom Toolbar”的工具栏,并在工作表上方显示 Set newTool = CommandBars.Add(Name:="Custom Toolbar", Position:=msoBarTop) With newTool.Visible = TrueWith .Controls.Add(Type:=msoControlButton).Caption = "复制".Style = msoButtonIconAndCaption.TooltipText = "复制文件".FaceId = 18.OnAction = "HandleTool"End WithWith .Controls.Add(Type:=msoControlButton, ID:=3).Caption = "保存".BeginGroup = True.Style = msoButtonIconEnd WithWith .Controls.Add(Type:=msoControlEdit).Caption = "输入:".BeginGroup = True.Style = msoButtonIcon.TooltipText = "在此输入数据".OnAction = "HandleText"End WithWith .Controls.Add(Type:=msoControlComboBox).Caption = "请选择:".BeginGroup = True.Style = msoComboLabel.TooltipText = "请选择所需项目".AddItem "Apple".AddItem "Banana".AddItem "Orange".ListIndex = 1.OnAction = "HandleCombo"End WithEnd WithEnd SubSub ExecuateCombo()With CommandBars("Custom Toolbar").Controls("请选择:")MsgBox .ListCountIf .List(1) = "Apple" Then.ExecuteEnd IfEnd WithEnd SubSub HandleCombo()Dim sCall As StringsCall = CommandBars.ActionControl.TextMsgBox "你选择了: " & sCall, vbInformationEnd Sub Sub HandleText()Dim sCall As StringsCall = CommandBars.ActionControl.TextMsgBox "你输入了: " & sCall, vbInformationEnd SubSub HandleTool()Dim sCall As StringsCall = CommandBars.ActionControl.CaptionMsgBox "你点击了: " & sCall, vbInformationEnd SubSub RemoveToolBar()On Error Resume NextCommandBars("Custom Toolbar").DeleteEnd Sub
运行CreateToolBar过程,将在工作表上方创建一个自定义工具栏,如下图:

示例文件下载:Box.Net |SkyDrive
Related posts:CommandBar介绍-菜单栏CommandBar介绍-右键菜单Excel中的窗体控件和ActiveX控件VBA中的控件数组Excel窗体API应用技巧
以上关联文章由Yet Another Related Posts Plugin 提供支持。