20.4 自定义RibbonX实例
前面介绍了自定义RibbonX的步骤、常用RibbonX控件等内容。本节以实例形式演示自定义RibbonX的各种方法,包括将内置RibbonX控件组合成一个新的选项卡、添加自定义RibbonX控件到内置选项卡、自定义Office按钮功能、定义回调函数等实例。
本节的实例不再重复创建的各个步骤,具体操作可参见本章20.3节的内容,在实例中只列出定义RibbonX的XML代码、回调函数的VBA代码等内容。
20.4.1 组合内置Ribbon
在Excel 2007功能区的内置控件中,将不同用途的控件用选项卡进行了分类。在大多数情况下,用户要完成工作都需要在多个选项卡之间来回切换。利用功能区的自定义功能,可以新建一个选项卡,将常用内置控件集中到一起,以方便用户操作。
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon> <tabs> <tab id="customTab" label="常用工具" insertAfterMso="TabHome"> <group idMso="GroupClipboard" /> <group idMso="GroupFont" /> <group idMso="GroupSortFilter" /> <group idMso="GroupInsertIllustrations" /> <group id="NewGroup" label="组合按钮"> <button idMso="VisualBasic" /> <button idMso="SheetProtect" /> <button idMso="FilePrint" /> <separator id="MySeparator1" /> <menu idMso="WindowSwitchWindowsMenuExcel" size="large" /> </group> </tab> </tabs> </ribbon> </customUI>
|
以上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属性引用图像名称,即可显示出对应的图像。
|
(点击查看大图)图20-26 Excel 2007内置图像 |
提示:也可以将内置图像显示在用户窗体的Image控件中。例如,下面的代码将为用户窗体中的Image1控件设置内置图像,图像的尺寸被指定为32×32像素。
Image1.Picture = Application.CommandBars. GetImageMso("AccessTableEvents", 32, 32)
|
|