Excel2007中创建工具栏的技巧代码
如果想在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显示了带有这两个按钮的工具栏。