秀米培训网

 找回密码
 注册

打印 上一主题 下一主题

Excel 2007教程:对中老式工具栏的限制

[复制链接]
跳转到指定楼层
楼主
发表于 2018-10-24 17:51:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    内容简介:在ThisWorkbook代码模块中,输入下面的过程。第一个过程为在打开技巧:不仅可以设置FaceID属性,还可以设置Picture属性,使用任



如果想在Excel 2007中創建一个工具栏,应注意下面的一些限制:
  (1)不能夠自由浮动;
  (2)总是显示在加载项选项卡自定义工具栏组中;
  (3)Excel会忽略一些CommandBar的属性和方法;
  创建工具栏的代碼:
  这里的代码假定有一个带有两个名为Macro1和Macro2宏的工作簿,并且在该工作簿打开时创建这个工具栏,在关闭该工作簿时删除这個工具栏。
  注意,与Ribbon定制不同,不管当前是哪个工作簿,自定义工具欄者是可見的。
  在ThisWorkbook代码模块中,输入下面的过程。第一个过程为在打开工作簿时调用创建工具栏的过程,di(第)二个过程為在关閉工作簿时调用删除工具栏的过程。
  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
  .
  .Caption = "这里是Macro1的提示"
  End With
  '添加另一个按钮
  Set Btn = TBar.Controls.Add(Type:=msoControlButton)
  With Btn
  .FaceId = 25
  .
  .Caption = "这里是Macro2的提示"
  End With
  End Sub
  代码中使用了一个模块级的常量TOOLBARNAME,用来存储工具栏的名称,并用于這两个过程中。
  如果已存在具有相同名字的工ju(具)栏,则该过程先删除该工具栏。这样将会避免企图创建与已存在的工具栏有相同名称的工具栏时,产生错误。
  通过使用CommandBars对xiang(象)的Add方fa(法)来创建该工具栏,使用Controls对象的Add方法来添加两个按钮,每个按钮都有三个属性:
  FaceID:确定显示在按钮中的图像的数字。
  OnAction:在单击按钮时执行的宏。
  Caption:鼠标指针悬浮在按钮上时显示的屏幕提示。
  技巧:不仅可以设置FaceIDshu(属)性,还可以she(设)置Picture屬性,使用任何的imageMso图像。例如,下面的语句晶粒示一個绿色的勾号:  PLAIN TEXT
  Visual Basic:
  .Picture = Application.CommandBars.GetImageMso _
  ("AcceptInvitation", 16, 16)
  关于imageMso圖像的更多信息,請参见“定制RibbonX”。
  在关闭工作簿时,觸发Workbook_BeforeClose事件过程,调用过程DeleteToolbar:   Sub DeleteToolbar()
  On Error Resume Next
  CommandBars(TOOLBARNAME).Delete
  On Error GoTo 0
  End Sub

秀米网|联系方式|秀米培训网

GMT+8, 2024-4-25 19:00 , Processed in 0.125000 second(s), 14 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表