存档

文章标签 ‘CommandBar’

CommandBar介绍-右键菜单

2009年2月22日

最后介绍的右键菜单其实也是属于一种菜单命令栏。我们可以在常用的右键菜单栏中添加自定义菜单,也可以创建新的自定义右键菜单代替默认的设置。

例如,下面的例子中工作表区域的右键菜单添加自定义菜单命令栏。

Sub AddRightClickMenu()
    ' 单元格区域右键菜单
    With Application.CommandBars("cell")
        .Reset
        ' 添加控件
        With .Controls.Add(Type:=msoControlButton)
            .Caption = "Test Right Click"           ' 标题
            .BeginGroup = True                      ' 分类,添加分隔线
            .OnAction = "MenuProc"                ' 指定处理过程
        End With
    End With
End Sub

阅读全文…

VBA , ,

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)

阅读全文…

VBA , ,

CommandBar介绍-菜单栏

2009年2月20日

在Excel5和Excel95时,菜单和工具栏分别使用不同的对象。从Excel97开始,所有的菜单和工具栏都使用同一种对象CommandBar来表示。

一般来说包括三种常用的CommandBar类型。通过CommandBar对象的Type属性可以判断该对象是下列三种类型的其中之一。Type属性返回一个msoBarType常量(包括msoBarNormal, msoBarMenu, msoBarPopup)。
第一种是菜单栏,msoBarMenu,可以自定义菜单以及子菜单添加在工作表的菜单上。如下图:

第二种是工具栏,msoBarNormal,可以在Excel的各个位置创建自定义工具栏。如下图:

第三种是右键菜单,msoBarPopup,可以自定义右键菜单,或在默认右键菜单上添加菜单项。如下图:

CommandBar对象包含的项目叫做Control。Excel2003包括大约124个内置CommandBar和上千个Control。

接着的三篇文章将介绍怎样使用VBA代码创建自定义菜单和工具栏。
阅读全文…

VBA , ,