当前位置: 首页 > 图文教程 > 工具软件 > 办公软件 > Excel2007中创建工具栏的技巧代码

办公软件
Word的快速保存方式和完全保存方式区别
列举Excel2007屏弃旧版的特殊功能
小技巧:多个Excel文件连续打印
把别人的幻灯片插入到自己的PPT里
Word2007帮你进行四则运算的内置计算工具
Excel2007新改进:条件格式
用word制作求职简历的4个小技巧
word制作表格时序列号输入技巧
Word表格批量写入操作技巧
Word操作技巧:图片自动更新
Word处理个人简历表格粘贴错位问题
Word技巧:为WORD添加收藏夹的设置方法
Excel表格轻松转换成Word文档
10条让你成为Word软件编辑高手的技巧
Word表格中隐藏文字显示的3种方法
Word表格:在单元格中放入更多的文字
经常要进行处理的XLS文件随EXCEL的启动自动打开
Word制作表格的公式的快速复制
Excel2007(2010)的单元格不会做算术了
Shift键在Word中几个常用的操作

办公软件 中的 Excel2007中创建工具栏的技巧代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-11   浏览: 93 ::
收藏到网摘: n/a

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

  (1)不能够自由浮动  

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

  (3)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

  .

  .Caption = "这里是Macro1的提示"

  End With  

  '添加另一个按钮

  Set Btn = TBar.Controls.Add(Type:=msoControlButton)

  With Btn

  .FaceId = 25

  .

  .Caption = "这里是Macro2的提示"

  End With

  End Sub  

  图1显示了带有这两个按钮的工具栏。

Excel2007中老式工具栏的限制

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

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

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

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

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

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

  技巧:不仅可以设置FaceID属性,还可以设置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