乔山办公网我们一直在努力
您的位置:乔山办公网 > word文档 > Excel2007|RibbonX控件 & 自定义功能区-word2007下载

Excel2007|RibbonX控件 & 自定义功能区-word2007下载

作者:乔山办公网日期:

返回目录:word文档

Excel2007中,功能区替代了以前的分层菜单、工具栏和任务窗格系统。功能区具有更简单的界面系统,通过优化提高了效率和易发现性。功能区改进了上下文菜单、屏幕提示、浮动工具栏以及键盘快捷方式,从而提高了用户的操作效率。

此外,还可以使用功能区扩展性(RibbonX)改善用户体验。可以使用可扩展标记语言(XML)和几种传统的编程语言之一来操纵构成功能区的组件。

有Excel2007中提供了上千个RibbonX控件,不能使用VBA代码从功能区添加或删除RibbonX控件,只能通过编写XML代码来完成定制RibbonX的工作,且必须将该XML代码包含到工作簿文件中,以达到定制RibbonX的目的。

1 RibbonX容器控件

容器控件可以包含其他控件,通过嵌套容器控件在其他容器里,可以创建层次结构。

Excel2007|RibbonX控件 &amp; <a href='https://www.qiaoshan022.cn/tags/zidingyigongnenqu_6140_1.html' target='_blank'>自定义功能区</a>

容器控件XML标识功能
选项卡&lt;tab&gt;功能区被分为多个选项卡
&lt;group&gt;每个选项卡分为多个组
盒子控件&lt;box&gt;按钮布局(不显示任何外观)
按钮组&lt;buttonGroup&gt;控件布局(带有边框和分隔条)
复合框&lt;comboBox&gt;编辑框+下拉列表
下拉控件&lt;dropDown&gt;编辑框+下拉列表+按钮控件
分离按钮&lt;splitButton&gt;按钮+菜单项(按钮可执行默认动作)
菜单&lt;menu&gt;按钮+菜单项(按钮不能执行默认动作)

2 RibbonX基本控件

RibbonX基本控件可以添加到自定义组中或者可以包含在其他容器控件中,常用的基本控件如下图所示:

Excel2007|RibbonX控件 &amp; 自定义功能区

基本控件XML标识功能
标签&lt;labelcontrol&gt;文字提示信息,不响应用户动作
复选框&lt;checkbox&gt;切换状态,常用于控制UI控件是否可见
分隔条&lt;separator&gt;在任何控件组里提供分隔元素。
按钮&lt;button&gt;可带图标和标题,能接收用户的单击并调用VBA过程
切换按钮&lt;toggleButton&gt;每次单击时在按下与非按下之间切换
编辑框&lt;editBox&gt;可接受用户输入
下拉库列表&lt;gallery&gt;下拉控件中包含的控件
列表项&lt;item&gt;组合框中包含的控件

3 RibbonX控件常用属性

每个控件都有很多的属性,可在XML中使用这些属性修改控件的外观。

属性类别属性描述
ID类id为自定义控件指定标识符。不能与idMso或idQ属性一起使用。

idMso为内置控件指定标识符。不能与id或idQ属性一起使用。

idQ为限定的控件指定标识符(限定的控件取决于定义的自定义命名空间)。不能与id或idMso属性一起使用。
图像类image定义控件使用的自定义图像的名称。

imageMso定义控件使用的内置图像的名称。

showImage确定Office是否显示与控件项相关的图像。可以选择true或false。
插入类insertAfterMso基于内置控件的位置,标识新控件的位置。

insertAfterQ基于限定的控件的位置,标识新控件的位置。

insertBeforeMso基于内置控件的位置,标识新控件的位置。

insertBeforeQ基于限定的控件的位置,标识新控件的位置。
外观类itemSize确定菜单或其它控件项的大小。可以选择large和normal。

label指定控件显示的文本。

screenTip提供简要的提示,帮助用户理解控件的用途。

size确定控件的大小。可以选择large或normal。

sizeString设置控件的大小来包含指定宽度的字符串。

tag包含用户定义的数据,可以在应用程序中用来与控件或其它元素交互。

title为menuSeparator控件指定显示的文本代替水平线。

visible确定Office是否显示某控件或其它功能。可以选择true或false。
其他description当菜单的itemSize属性设置为大时指定Office显示的描述文本。

enabled确定Office是否启用或禁用控件。可以选择true或false作为其值。

keyTip对控件添加指定的加速键组合。当用户按下Alt键时显示键提示。可以指定任意键组合,使用1至3个字母。

superTip提供详细的提示,帮助用户理解控件的用途。

showItemImage确定Office是否显示与菜单或其它控件项相关的图像。可以选择true或false。

showItemLabel确定Office是否显示与菜单或其它控件项相前的标签。可以选择true或false。

showLabel确定Office是否显示与控件相关的标签。可以选择true或false。

4 RibbonX控件的回调函数

在自定义RibbonX时,可在XML中通过控件的不同属性设置控件,也可以使用控件的回调函数,在程序运行时动态修改控件的属性。Button控件可以通过其onAction属性执行控件在应用程序代码中定义的操作。

回调相关的控件描述
getContentdynamicMenu定义控件的内容。
getDescription多个控件获取控件的描述。
getEnabled多个控件让代码启用或禁用控件。
getImage多个控件获取为控件提供的自定义图像。
getImageMso多个控件获取为控件定义的标准图像。
getItemCountcomboBox,DropDown,gallery获取控件的项目列表中的项目数。
getItemHeightgallery以像素为单位确定项目显示在屏幕中的高度。
getItemIDcomboBox,dropDown,gallery确定当前项目的ID。
getItemImagecomboBox,dropDown,gallery获取与当前项目相关的图像。
getItemLabelcomboBox,dropDown,gallery获取与当前项目相关的标签。
getItemScreenTipcomboBox,dropDown,gallery获取与当前项目相关的屏幕提示。
getItemSuperTipcomboBox,dropDown,gallery获取与当前项目相关的超级提示。
getItemWidthgallery以像素为单位确定项目显示在屏幕中的宽度。
getKeytip多个控件获取控件的键提示(加速键)。
getLabel多个控件获取控件的标签。
getPressedcheckBox,toggleButton确定用户是否以手动的方式单击了控件以激活该控件。
getScreentip多个控件获取控件的屏幕提示。
getSelectedItemIndexdropDown,gallery确定用户从列表中选取的项目。
getSelectItemIDgallery获取用户已经在列表中选取的项目的ID。
getShowImagebutton确定控件是否显示图像(允许禁止图像,即便已经为控件定义了图像)。
getShowLabelbutton确定控件是否显示标签(允许禁止标签,即便已经为控件定义了标签)。
getSize多个控件基于应用程序的输出,定义控件的大小。
getSupertip多个控件获取控件的超级工具提示。
getTextcomboxBox,editBox获取与列表中当前所选择的项目相关的文本。
getTitlemenuSeparator为指定的控件提供标题。Office显示文本来代替通常显示的水平线。
getVisiblebutton确定是否控件可见。
LoadImagecustomUI作为整体装载与用户界面相关的图像。
onAction多个控件执行控件在应用程序代码中定义的操作。
onChangecomboBox,editBox在用户选择或控件内容中发现变化。
onLoadcustomUI在装载过程中执行指定的操作。

参考:http://www.360doc.com/content/09/1110/14/406571_8738506.shtml

5 使用XML代码手式方式自定义功能区

功能区可以通过使用XML代码进行精细设置。

5.1 新建一个项目文件夹,可以命名为“进销存管理系统”;

5.2 将之前设计的“进销存管理.xlsm"工作表保存到项目文件夹内;

5.3 在项目文件夹内新建一个“customUI”文件夹;

5.4 在“customUI”文件夹内新建“customUI.xml"文件,内容如下:

&lt;customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"&gt;


&lt;ribbon&gt;

&lt;tabs&gt;

‘↓创建新选项卡

&lt;tab id="tabJXC" label="进销存" &gt;

&lt;group id="gpIN" label="进货"&gt;

&lt;button id="btIN_INPUT" imageMso="ReviewNextChange"

size="large" label="录入" onAction="btIN_INPUT_onAction"/&gt;

&lt;button id="btIN_REPROT" imageMso="RecordsMoreRecordsMenu"

size="large" label="报表" onAction="btIN_REPORT_onAction"/&gt;

&lt;/group&gt;

&lt;group id="gpOUT" label="销售"&gt;

&lt;button id="btOUT_INPUT" imageMso="ReviewPreviousChange"

size="large" label="录入" onAction="btOUT_INPUT_onAction"/&gt;

&lt;button id="btOUT_REPROT" imageMso="RecordsMoreRecordsMenu"

size="large" label="报表" onAction="btOUT_REPORT_onAction"/&gt;

&lt;button id="btOUT_RESULTS" imageMso="ControlLayoutStacked"

size="large" label="销售业绩" onAction="btOUT_RESULTS_onAction"/&gt;

&lt;/group&gt;

&lt;group id="gpSTOCK" label="库存"&gt;

&lt;button id="btSTOCK_FIND" imageMso="FileDocumentManagementInformation"

size="large" label="存货查询" onAction="btSTOCK_FIND_onAction"/&gt;

&lt;button id="btSTOCK_SUM" imageMso="AccessFormDatasheet"

size="large" label="存货统计" onAction="btSTOCK_SUM_onAction"/&gt;

&lt;button id="btSTOCK_DETAILS" imageMso="ControlLayoutTabular"

size="large" label="库存明细" onAction="btSTOCK_DETAILS_onAction"/&gt;

&lt;/group&gt;

&lt;group id="gpDATA" label="数据"&gt;

&lt;button id="btDATA_COMM" imageMso="SmartArtAddBullet"

size="large" label="商品信息" onAction="btDATA_COMM_onAction"/&gt;

&lt;button id="btDATA_SALES" imageMso="DistributionListUpdateMembers"

size="large" label="销售人员" onAction="btDATA_SALES_onAction"/&gt;

&lt;/group&gt;

&lt;/tab&gt;

&lt;/tabs&gt;

&lt;/ribbon&gt;

&lt;/customUI&gt;

&lt;customUI&gt;元素是XML的根容器,名称集(namespace)将它识别作为RibbonX文档。

&lt;ribbon&gt;元素是一个联系到可见的Ribbon的所有变化的容器。&lt;customUI&gt;元素也可以包含一个&lt;commands&gt;元素,用来重复利用内置控件。

&lt;tabs&gt;元素是一个联系到Ribbon中现有的或新的选项卡的所有变化的容器。&lt;ribbon&gt;元素也能包含&lt;officeMenu&gt;、&lt;aqt&gt;和/或&lt;contextualTabs&gt;元素来控制Ribbon的相应部分。

&lt;tab id="rxtabTest" labe="测试"&gt;元素用来创建自定义的选项卡。

&lt;group id="myGroup" label="显示"&gt;元素用来创建一个组。

&lt;button&gt;元素添加一个按钮,该按钮显示名称为“工作表信息",当单击该按钮时执行工作簿中的showmsg宏,该宏需要在Excel的VBE中编写。

也可能通过以下代码不显示部分内置控件:

&lt;customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"&gt;

&lt;commands&gt;

&lt;command idMso="FileNew" enabled="false" /&gt;

&lt;command idMso="FileSaveAs" enabled="false" /&gt;

&lt;/commands&gt;

&lt;ribbon&gt;

&lt;tabs&gt;

&lt;tab idMso="TabHome" visible="false"/&gt;

&lt;tab idMso="TabInsert" visible="false"/&gt;

&lt;tab idMso="TabPageLayoutExcel" visible="false"/&gt;

&lt;/tab&gt;

&lt;/tabs&gt;

&lt;/ribbon&gt;

&lt;/customUI&gt;

5.5 将Excel工作薄变成一个压缩文件文件:将“进销存管理.xlsm"重命名为“进销存管理.xlsm.zip"即可。

5.6 添加文件夹“customUI”到压缩文件“进销存管理.xlsm.zip":拖入即可,如下图所示:

Excel2007|RibbonX控件 &amp; 自定义功能区

5.7 在工作簿文件与xml文件建立关系:

在压缩文件的_rels文件夹内的.rles文件中添加以下内容(添加到最后一个Relationship标记前):

&lt;Relationship Id="customUIRelID"

Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="customUI/customUI.xml"/&gt;

5.8 保存并关闭.rles文件;

5.9 将压缩文件改回到工作簿:将“进销存管理.xlsm.zip"重命名为“进销存管理.xlsm"即可。

5.10 打开“进销存管理.xlsm”,即可看到如下自定义选项卡的工作界面:

Excel2007|RibbonX控件 &amp; 自定义功能区

6.11 设计功能区各按钮代码

I 按快捷键Alt+F11打开VBE环境;

II 增加一个标准模块:插入→模块;

III 定义一个全局变量:

Option Explicit

Public Const AppName As String = "进销存管理系统"

IV “进货”组中有两个按钮,用来操作进货录入和进化报表两个功能,具体的代码如下:

Sub btIN_INPUT_onAction(Control As IRibbonControl) '进货录入

Sheets("供货单").Select '选择"供货单"工作表

Range("b5").Select '选择B5单元格

End Sub

Sub btIN_REPORT_onAction(Control As IRibbonControl) '进货报报

Sheets("进货报表").Select '选择"进货报表"工作表

Range("C2").Select '选择C2单元格

End Sub

其它模块的按钮的代码按上述思想同样设置。

7 使用Office2007 CustomUIEditor定制自己的功能区

下载地址:http://openxmldebeloper.org/articles/CustomUIeditor.aspx

要先安装Microsoft.net Framework2.0

http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5&amp;displaylang=zh-cn

在该编辑器中打开一个excel2007文件(这里是一个可加载宏的xlsm文件,xlsx一样),然后点击Insert→Office 2007 Custom UI Part插入一个CustomUI.xml:

Excel2007|RibbonX控件 &amp; 自定义功能区

然后点击Insert→Sample XMl→Excel-A Custom Tab插入xml代码:

Excel2007|RibbonX控件 &amp; 自定义功能区

插入后显示如下,将第一行的2009/07改为2006/01,这是Excel2007的时间,而2009/07是Excel2010的时间。

Excel2007|RibbonX控件 &amp; 自定义功能区

然后保存,关闭程序。再打开Excel文件,出现自定义的Contoso选项卡,如下:

Excel2007|RibbonX控件 &amp; 自定义功能区

customUI.xml文件的xml代码如下:

&lt;customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"&gt;

&lt;ribbon&gt;

&lt;tabs&gt;

&lt;tab id="customTab" label="Contoso" insertAfterMso="TabHome"&gt;

&lt;group idMso="GroupClipboard" /&gt;

&lt;group idMso="GroupFont" /&gt;

&lt;group id="customGroup" label="Contoso Tools"&gt;

&lt;button id="customButton1" label="ConBold" size="large" onAction="conBoldSub" imageMso="Bold" /&gt;

&lt;button id="customButton2" label="ConItalic" size="large" onAction="conItalicSub" imageMso="Italic" /&gt;

&lt;button id="customButton3" label="ConUnderline" size="large" onAction="conUnderlineSub" imageMso="Underline" /&gt;

&lt;/group&gt;

&lt;/tab&gt;

&lt;/tabs&gt;

&lt;/ribbon&gt;

&lt;/customUI&gt;

在Excel2013中,创建功能区选项卡的操作非常简单,用户可通过打开“Excel选项"对话框直接进行功能区选项卡和组的创建。

-End-

相关阅读

  • Word2007版本如何另存为PDF 文件?-word2007下载

  • 乔山办公网word文档
  • word2007下载,目前,对于PDF格式的文件,因其体积小,便于携带和浏览都因素,在工作中大量的被使用。设计软件AI,以及办公软件WPS都是可以直接保存成PDF格式的,但是,对于Word、EXce
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网