在Excel2007中实现老式工具栏

在Excel2007中实现老式工具栏,第1张

在Excel2007中实现老式工具栏,第2张

Excel2007旧工具栏的限制
如果要在Excel 2007中创建工具栏,请注意以下限制:
它不能自由浮动
它总是显示在add-on选项卡自定义工具栏组中
Excel将忽略用于创建工具栏的CommandBar
代码的某些属性和方法
这里的代码假设有一个工作簿,其中有两个名为Macro1和Macro2的宏,这是在打开工作簿时创建的。
请注意,与功能区自定义不同,无论当前工作簿是什么,工具栏自定义器都是可见的。
在此工作簿代码模块中,输入以下过程。第一个过程是在工作簿打开时调用创建工具栏的过程,第二个过程是在工作簿关闭时调用删除工具栏的过程。
Private Sub Workbook _ Open()
调用CreateToolbar
end sub Private
Sub Workbook _ before close(Cancel As Boolean)
调用toolbar
End Sub过程的create toolbar代码如下:
const toolbar name As string = " my toolbar "
Sub create toolbar()
dim tbar As command bar
dim BTN As command barbutton
'如果存在delete
On Error GoTo 0
' Create toolbar
set tbar = command bars . add
with tbar
。name =工具栏名称
。visible = true
end with
' Add button
set BTN = tbar . controls . Add(type:= msocontrolbutton)
with BTN
。FaceID = 300 [/ Br/]。onaction = "Macro1"
。caption = "这里是Macro1的提示"
End With
' Add another button
Set Btn = TBar。controls . Add(Type:= msoControlButton)
With Btn
。FaceId = 25
。OnAction = "Macro2"
。Caption = "这里是Macro2的提示"
END WITH
END SUB
代码中使用了一个模块级常量TOOLBARNAME来存储工具栏的名称,在这两个过程中都会用到它。
如果已经存在同名的工具栏,该过程将首先删除该工具栏。这将避免在尝试创建与现有工具栏同名的工具栏时出现错误。
该工具栏是使用CommandBars对象的add方法创建的,使用Controls对象的Add方法添加了两个按钮。每个按钮都有三个属性:
FaceID:决定按钮中显示的图像的数字。
OnAction:单击按钮时执行的宏。
Caption:当鼠标指针悬停在按钮上时显示的屏幕提示。
提示:您不仅可以设置FaceID属性,还可以设置图片属性以使用任何imageMso图像。例如,下面的语句显示一个绿色勾号:
纯文本
visual basic:
。picture = application . command bars . getimagemso MSO _
(“接受邀请”,16,16)
关于图像
当工作簿关闭时,触发Workbook_BeforeClose事件过程,过程delete toolbar:
subdelete toolbar()
on error resume next
命令栏(工具栏名称)。在错误goto0时删除

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 在Excel2007中实现老式工具栏

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情