第20章 使用RibbonX
图20-20 打开文件 图20-21 打开工作簿
(5)因为工作簿Test2.xlsm中还没有自定义RibbonX的代码,所以UI编辑器的编辑窗口里为空。在编辑窗口中输入以下XML代码,用来定义RibbonX,如图20-22所示。
?提示:UI编辑器不支持中文,因此需要将上节自定义RibbonX代码的中文改成英文。
图20-22 输入XML代码
(6)单击工具栏中的Save按钮将内容保存到test2.xlsm文件中,然后关闭UI编辑器
·403·
Excel VBA开发技术大全
完成RibbonX的创建。
(7)打开工作簿test2.xlsm,可看到功能区新增加的选项卡如图20-23所示。
图20-23 自定义功能区
(8)在VBE中,编写过程showmsg用来显示当前工作表的信息。具体代码与20.3.1节中的过程showmsg完全相同。
20.4 自定义RibbonX实例
前面介绍了自定义RibbonX的步骤、常用RibbonX控件等内容。本节以实例形式演示自定义RibbonX的各种方法,包括将内置RibbonX控件组合成一个新的选项卡、添加自定义RibbonX控件到内置选项卡、自定义Office按钮功能、定义回调函数等实例。
本节的实例不再重复创建的各个步骤,具体操作可参见本章20.3节的内容,在实例中只列出定义RibbonX的XML代码、回调函数的VBA代码等内容。
20.4.1 组合内置Ribbon
在Excel 2007功能区的内置控件中,将不同用途的控件用选项卡进行了分类。在大多数情况下,用户要完成工作都需要在多个选项卡之间来回切换。利用功能区的自定义功能,可以新建一个选项卡,将常用内置控件集中到一起,以方便用户操作。
以上XML代码自定义的选项卡如图20-24所示。
图20-24 组合内置控件
对于内置控件,用户不需要编写任何VBA代码,单击这些控件即可调用系统提供的功能。在Excel 2007中提供了一千七百多个内置RibbonX控件,用户要使用这些内置控件必须先要知道具体的名称。可以在http://www.microsoft.com/zh/cn/default.aspx网站上以关键字2007OfficeControlIDsExcel2007搜索,找到2007OfficeControlIDsExcel2007.EXE文件,将其下载到本地硬盘。该文件为一个自解压文件,将其解压缩后可看到其中包含24个文件,分别为Office 2007各组件(包括Excel、Word、Outlook和PowerPoint)中RibbonX控件的名称、类型等。Excel 2007中RibbonX控件名称包含在ExcelRibbonControls.xlsx文件中,打开该文件,可看到如图20-25所示的控件信息。
图20-25 Excel 2007控件列表
另外,Microsoft Office 2007提供了大约二千五百个内置命名的图像,这些图像与不同的命令相关联。如果知道图像的名称,则可以为自定义的RibbonX控件中指定这些图像。
微软提供的mso image browser.xlsm工作簿列出了Excel 2007提供的这些图像,可从网上下载该工作簿。该工作簿的内容如图20-26所示,在工作表第1行中列出了当前选中名称的图像及后面的50个图像。从第2行开始,每行第1列显示1个内置图像的名称,在XML代码中使用imageMso属性引用图像名称,即可显示出对应的图像。
·405·
Excel VBA开发技术大全
图20-26 Excel 2007内置图像
?提示:也可以将内置图像显示在用户窗体的Image控件中。例如,下面的代码将为用户
窗体中的Image1控件设置内置图像,图像的尺寸被指定为32×32像素。
Image1.Picture = Application.CommandBars.GetImageMso(\32, 32)
20.4.2 添加RibbonX到内置选项卡
可将自定义RibbonX控件添加到内置选项卡中。例如,以下代码在【开始】选项卡中添加一个名为【测试】的组:
相关推荐: