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

办公软件
有选择地删除金山WPS2009最近文档记录
快速修改微软Excel文档中的全角半角字符
如何去掉WPS 2009右上角消息推送条
WPS2009最近文档记录操作技巧
提升Word 2007中单元格容量的技巧
Excel表格轻松制作成绩通知单
利用Word表格功能实现稿纸功能
快速处理Word表格的技巧
自定义格式隐藏Excel单元格中数据
快速修改Excel文档中全角半角字符
自定义格式实现隐藏Excel单元格数据
Powerpoint中插入和编辑表格的方法
Excel表格操作的4点实用技巧
使用Access巧妙合并多个Excel文件
教你在WPS 2009幻灯片放映过程中局部放大
Excel2003表格中的序号操作技巧
巧用Word制作个人简历的十大技巧
Excel表格中输入序号的操作技巧
Excel条件格式和函数轻松实现隔行换色
WPS Office 2009在线模板制作别具一格简历

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-11   浏览: 121 ::
收藏到网摘: 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