广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 计算机教程 > 正文

在Excel 2007中实现老式工具栏_计算机办公知识

作者:小甘发布时间:2020-12-18分类:计算机教程浏览:796


导读:  Excel2007中老式工具栏的限制  如果想在Excel2007中创建一个工具栏,应注意下面的一些限制:  不能够自由浮动  总是显示在加载项选项卡自定义工具...

  Excel2007中老式工具栏的限制

  如果想在Excel 2007中创建一个工具栏,应注意下面的一些限制:

  不能够自由浮动

  总是显示在加载项选项卡自定义工具栏组中

  Excel会忽略一些CommandBar的属性和方法

  创建工具栏的代码

  这里的代码假定有一个带有两个名为Macro1和Macro2宏的工作簿,并且在该工作簿打开时创建这个工具栏,在关闭该工作簿时删除这个工具栏。

  注意,与Ribbon定制不同,不管当前是哪个工作簿,自定义工具栏者是可见的。

  在ThisWorkbook代码模块中,输入下面的过程。第一个过程为在打开工作簿时调用创建工具栏的过程,第二个过程为在关闭工作簿时调用删除工具栏的过程。

Private Sub Workbook_Open()
  Call CreateToolbar
End SubPrivate

Sub Workbook_BeforeClose(Cancel As Boolean)
  Call DeleteToolbar
End Sub 过程CreateToolbar的代码如下:
Const TOOLBARNAME As String = "我的工具栏"
Sub CreateToolbar()
  Dim TBar As CommandBar
  Dim Btn As CommandBarButton

  '如果存在则删除已存在的工具栏

  On Error Resume Next
  CommandBars(TOOLBARNAME).Delete
  On Error GoTo 0

  '创建工具栏

  Set TBar = CommandBars.Add
  With TBar
    .Name = TOOLBARNAME
    .Visible = True
  End With

  '添加按钮

  Set Btn = TBar.Controls.Add(Type:=msoControlButton)
  With Btn
    .FaceId = 300
    .OnAction = "Macro1"
    .Caption = "这里是Macro1的提示"
  End With
  

  '添加另一个按钮

  Set Btn = TBar.Controls.Add(Type:=msoControlButton)
  With Btn
    .FaceId = 25
    .OnAction = "Macro2"
    .Caption = "这里是Macro2的提示"
  End With
End Sub  

  代码中使用了一个模块级的常量TOOLBARNAME,用来存储工具栏的名称,并用于这两个过程中。

  如果已存在具有相同名字的工具栏,则该过程先删除该工具栏。这样将会避免企图创建与已存在的工具栏有相同名称的工具栏时,产生错误。

  通过使用CommandBars对象的Add方法来创建该工具栏,使用Controls对象的Add方法来添加两个按钮,每个按钮都有三个属性:

  FaceID:确定显示在按钮中的图像的数字。

  OnAction:在单击按钮时执行的宏。

  Caption:鼠标指针悬浮在按钮上时显示的屏幕提示。

  技巧:不仅可以设置FaceID属性,还可以设置Picture属性,使用任何的imageMso图像。例如,下面的语句晶粒示一个绿色的勾号:

PLAIN TEXT
Visual Basic:
.Picture = Application.CommandBars.GetImageMso _
("AcceptInvitation", 16, 16)

  在关闭工作簿时,触发Workbook_BeforeClose事件过程,调用过程DeleteToolbar:

Sub DeleteToolbar()
  On Error Resume Next
  CommandBars(TOOLBARNAME).Delete
  On Error GoTo 0
End Sub


计算机教程排行
标签列表
网站分类
文章归档
最近发表