风间俊介 婚礼:CommandBar介绍-工具栏2

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 07:11:22

CommandBar介绍-工具栏

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:

  1. CommandBar介绍-菜单栏
  2. CommandBar介绍-右键菜单
  3. Excel中的窗体控件和ActiveX控件
  4. VBA中的控件数组
  5. Excel窗体API应用技巧

以上关联文章由 Yet Another Related Posts Plugin 提供支持。