若是想在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浮现了带有这两个按钮的工具栏。
第 [1] [2] 页 下一页 代码中操纵了一个模块级的常量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 上一页 第 [1] [2] 页
,Excel2007中老式工具栏的限制tag: 办公软件教程,办公软件学习,office办公软件教程,电脑学习 - 办公软件教程