文档分类
第20章 使用RibbonX
完成设置后打开工作簿,可看到如图20-27右侧所示的自定义组“测试”,其中包含了3个按钮和1个菜单,单击菜单将弹出6个菜单项目。 图20-27 添加Ribbonx控件到内置选项卡 单击按钮或菜单项目,将调用工作簿中的宏。如果希望单击这些控件时能完成实际的工作,就需要在工作簿中定义对应的宏(例如,sub1、sub2、MenuSub1、MenuSub2等)。 20.4.3 定义Office按钮 除了可以自定义功能区的选项卡外,用户还可以自定义Office按钮中的菜单项。例如,以下XML代码将在Office按钮中添加菜单项(分别添加1个菜单、1个弹出菜单及其6个弹出菜单项、在系统已有的【打印】弹出菜单中添加1个菜单项)。 ·407· Excel VBA开发技术大全 imageMso=\ description=\由用户设置打印机参数\ 在XML中,使用元素表示定义Office按钮菜单。 以上XML代码生成的Office按钮菜单如图20-28所示。 图20-28 自定义Office按钮 ·408 · 第20章 使用RibbonX 20.4.4 RibbonX控件回调函数实例 前面介绍的实例都没有使用RibbonX控件的回调函数。在实际应用中,很多地方都需要使用回调函数才能完成具体的工作。下面以实例演示回调函数的使用方法,创建类似Excel 2007功能区【开始】选项卡的【剪贴板】组中的【粘贴】分离按钮控件,当用户单击下方的按钮时将弹出下拉按钮列表,如图20-29左图所示。单击其中某个按钮后,上方显示的按钮将变为该按钮图标。鼠标指向按钮时,下方将显示提示信息,如图20-29右图所示。 图20-29 新建RibbonX控件 具体的步骤如下: (1)向Excel工作簿中添加以下自定义RibbonX控件的XML代码: getSupertip=\ onAction\ onAction=\ onAction=\ onAction=\ onAction=\ ·409· Excel VBA开发技术大全 以上代码中,第1行语句中添加了onLoad属性,该属性设置系统装载自定义RibbonX时执行的回调函数名称,需要在VBE中编写名为rxcustomUI_onLoad的过程,具体代码 如下: 元素中包含1个按钮(控件)和1个菜单(控件),在控件中添加4个按钮控件。元素中包含的按钮用来显示上一步操作过的按钮图标,在下拉菜单中选择不同按钮后,该按钮将自动更新其图标、提示文字和标签文字,因此,使用了getImage、getLabel、getSupertip 3个属性分别设置3个回调函数,具体代码如下: getSupertip=\ 而控件包含的4个按钮控件只需要使用onAction属性设置一个回调函数即可。 (2)将上述XML代码添加到Excel工作簿中后,在Excel 2007中打开该工作簿即可看到自定义的RibbonX控件,如图20-29所示。 (3)按组合键Alt+F11进入VBE环境。 (4)向工程中插入一个模块,在模块声明部分输入以下代码声明2个模块变量: (5)当Excel 2007装载自定义RibbonX时,将调用onLoad属性设置的回调函数。在程序中只能通过该回调函数获取RibbonX对象的引用。具体代码如下: Sub rxcustomUI_onLoad(ribbon As IRibbonUI) Set moRibbon = ribbon '获取对Ribbon的引用 End Sub Dim moRibbon As IribbonUI '模块变量,获取对Ribbon的引用 Dim str1 As String '模块变量,保存当前按钮的状态 (6)编写getImage属性设置的回调函数如下: Sub rxButton_getImage(Control As IRibbonControl, ByRef returnedVal) If str1 = \ Select Case str1 Case \ returnedVal = \ Case \ returnedVal = \·410 · 1<<34567
完成设置后打开工作簿,可看到如图20-27右侧所示的自定义组“测试”,其中包含了3个按钮和1个菜单,单击菜单将弹出6个菜单项目。
图20-27 添加Ribbonx控件到内置选项卡
单击按钮或菜单项目,将调用工作簿中的宏。如果希望单击这些控件时能完成实际的工作,就需要在工作簿中定义对应的宏(例如,sub1、sub2、MenuSub1、MenuSub2等)。
20.4.3 定义Office按钮
除了可以自定义功能区的选项卡外,用户还可以自定义Office按钮中的菜单项。例如,以下XML代码将在Office按钮中添加菜单项(分别添加1个菜单、1个弹出菜单及其6个弹出菜单项、在系统已有的【打印】弹出菜单中添加1个菜单项)。
·407· Excel VBA开发技术大全 imageMso=\ description=\由用户设置打印机参数\
·407·
Excel VBA开发技术大全
imageMso=\
description=\由用户设置打印机参数\
在XML中,使用元素表示定义Office按钮菜单。
以上XML代码生成的Office按钮菜单如图20-28所示。 图20-28 自定义Office按钮 ·408 · 第20章 使用RibbonX 20.4.4 RibbonX控件回调函数实例 前面介绍的实例都没有使用RibbonX控件的回调函数。在实际应用中,很多地方都需要使用回调函数才能完成具体的工作。下面以实例演示回调函数的使用方法,创建类似Excel 2007功能区【开始】选项卡的【剪贴板】组中的【粘贴】分离按钮控件,当用户单击下方的按钮时将弹出下拉按钮列表,如图20-29左图所示。单击其中某个按钮后,上方显示的按钮将变为该按钮图标。鼠标指向按钮时,下方将显示提示信息,如图20-29右图所示。 图20-29 新建RibbonX控件 具体的步骤如下: (1)向Excel工作簿中添加以下自定义RibbonX控件的XML代码: getSupertip=\ onAction\ onAction=\ onAction=\ onAction=\ onAction=\ ·409· Excel VBA开发技术大全
以上XML代码生成的Office按钮菜单如图20-28所示。
图20-28 自定义Office按钮
·408 ·
20.4.4 RibbonX控件回调函数实例
前面介绍的实例都没有使用RibbonX控件的回调函数。在实际应用中,很多地方都需要使用回调函数才能完成具体的工作。下面以实例演示回调函数的使用方法,创建类似Excel 2007功能区【开始】选项卡的【剪贴板】组中的【粘贴】分离按钮控件,当用户单击下方的按钮时将弹出下拉按钮列表,如图20-29左图所示。单击其中某个按钮后,上方显示的按钮将变为该按钮图标。鼠标指向按钮时,下方将显示提示信息,如图20-29右图所示。
图20-29 新建RibbonX控件
具体的步骤如下:
(1)向Excel工作簿中添加以下自定义RibbonX控件的XML代码:
getSupertip=\ onAction\ onAction=\ onAction=\ onAction=\ onAction=\ ·409· Excel VBA开发技术大全
getSupertip=\ onAction\
onAction=\ onAction=\ onAction=\ onAction=\ ·409· Excel VBA开发技术大全
onAction=\ onAction=\ onAction=\ ·409· Excel VBA开发技术大全
onAction=\ onAction=\ ·409· Excel VBA开发技术大全
onAction=\
·409·
以上代码中,第1行语句中添加了onLoad属性,该属性设置系统装载自定义RibbonX
时执行的回调函数名称,需要在VBE中编写名为rxcustomUI_onLoad的过程,具体代码 如下:
元素中包含1个按钮(控件)和1个菜单(控件),在控件中添加4个按钮控件。元素中包含的按钮用来显示上一步操作过的按钮图标,在下拉菜单中选择不同按钮后,该按钮将自动更新其图标、提示文字和标签文字,因此,使用了getImage、getLabel、getSupertip 3个属性分别设置3个回调函数,具体代码如下:
getSupertip=\ 而控件包含的4个按钮控件只需要使用onAction属性设置一个回调函数即可。 (2)将上述XML代码添加到Excel工作簿中后,在Excel 2007中打开该工作簿即可看到自定义的RibbonX控件,如图20-29所示。 (3)按组合键Alt+F11进入VBE环境。 (4)向工程中插入一个模块,在模块声明部分输入以下代码声明2个模块变量: (5)当Excel 2007装载自定义RibbonX时,将调用onLoad属性设置的回调函数。在程序中只能通过该回调函数获取RibbonX对象的引用。具体代码如下: Sub rxcustomUI_onLoad(ribbon As IRibbonUI) Set moRibbon = ribbon '获取对Ribbon的引用 End Sub Dim moRibbon As IribbonUI '模块变量,获取对Ribbon的引用 Dim str1 As String '模块变量,保存当前按钮的状态 (6)编写getImage属性设置的回调函数如下: Sub rxButton_getImage(Control As IRibbonControl, ByRef returnedVal) If str1 = \ Select Case str1 Case \ returnedVal = \ Case \ returnedVal = \·410 · 1<<34567
getSupertip=\ 而控件包含的4个按钮控件只需要使用onAction属性设置一个回调函数即可。 (2)将上述XML代码添加到Excel工作簿中后,在Excel 2007中打开该工作簿即可看到自定义的RibbonX控件,如图20-29所示。
而
(3)按组合键Alt+F11进入VBE环境。
(4)向工程中插入一个模块,在模块声明部分输入以下代码声明2个模块变量:
(5)当Excel 2007装载自定义RibbonX时,将调用onLoad属性设置的回调函数。在程序中只能通过该回调函数获取RibbonX对象的引用。具体代码如下:
Sub rxcustomUI_onLoad(ribbon As IRibbonUI) Set moRibbon = ribbon '获取对Ribbon的引用 End Sub
Dim moRibbon As IribbonUI '模块变量,获取对Ribbon的引用 Dim str1 As String '模块变量,保存当前按钮的状态
(6)编写getImage属性设置的回调函数如下:
Sub rxButton_getImage(Control As IRibbonControl, ByRef returnedVal) If str1 = \ Select Case str1 Case \
returnedVal = \ Case \
returnedVal = \·410 ·
相关推荐: