欢迎来到天天文库
浏览记录
ID:14343276
大小:46.50 KB
页数:3页
时间:2018-07-28
《在excel 2007中实现老式工具栏》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、在Excel2007中实现老式工具栏应注意以下限制 如果想在Excel2007中创建一个工具栏,应注意下面的一些限制: 不能够自由浮动 总是显示在加载项选项卡自定义工具栏组中 Excel会忽略一些CommandBar的属性和方法 创建工具栏的代码 这里的代码假定有一个带有两个名为Macro1和Macro2宏的工作簿,并且在该工作簿打开时创建这个工具栏,在关闭该工作簿时删除这个工具栏。 注意,与Ribbon定制不同,不管当前是哪个工作簿,自定义工具栏者是可见的。 在ThisWorkbook代码模块中,输
2、入下面的过程。第一个过程为在打开工作簿时调用创建工具栏的过程,第二个过程为在关闭工作簿时调用删除工具栏的过程。PrivateSubWorkbook_Open() CallCreateToolbarEndSubPrivate>SubWorkbook_BeforeClose(CancelAsBoolean) CallDeleteToolbarEndSub过程CreateToolbar的代码如下:ConstTOOLBARNAMEAsString="我的工具栏"SubCreateToolbar() DimTBarAsC
3、ommandBar DimBtnAsCommandBarButton> '如果存在则删除已存在的工具栏 OnErrorResumeNext CommandBars(TOOLBARNAME).Delete OnErrorGoTo0> '创建工具栏 SetTBar=CommandBars.Add WithTBar .Name=TOOLBARNAME .Visible=True EndWith> '添加按钮 SetBtn=TBar.Controls.Add(Type:=msoControl
4、Button) WithBtn .FaceId=300 .OnAction="Macro1" .Caption="这里是Macro1的提示" EndWith> '添加另一个按钮 SetBtn=TBar.Controls.Add(Type:=msoControlButton) WithBtn .FaceId=25 .OnAction="Macro2" .Caption="这里是Macro2的提示" EndWithEndSub>图1显示了带有这两个按钮的工具栏。1:一个
5、老式工具栏,位于加载项选项卡的自定义工具栏中 代码中使用了一个模块级的常量TOOLBARNAME,用来存储工具栏的名称,并用于这两个过程中。 如果已存在具有相同名字的工具栏,则该过程先删除该工具栏。这样将会避免企图创建与已存在的工具栏有相同名称的工具栏时,产生错误。 通过使用CommandBars对象的Add方法来创建该工具栏,使用Controls对象的Add方法来添加两个按钮,每个按钮都有三个属性: FaceID:确定显示在按钮中的图像的数字。 OnAction:在单击按钮时执行的宏。 Caption:
6、鼠标指针悬浮在按钮上时显示的屏幕提示。 技巧:不仅可以设置FaceID属性,还可以设置Picture属性,使用任何的imageMso图像。例如,下面的语句晶粒示一个绿色的勾号:PLAINTEXTVisualBasic:.Picture=Application.CommandBars.GetImageMso_("AcceptInvitation",16,16)>关于imageMso图像的更多信息,请参见“定制RibbonX”。 在关闭工作簿时,触发Workbook_BeforeClose事件过程,调用过程Delet
7、eToolbar:SubDeleteToolbar() OnErrorResumeNext CommandBars(TOOLBARNAME).Delete OnErrorGoTo0EndSub>
此文档下载收益归作者所有