细品RibbonX(35):dialogBoxLauncher元素详解
在大多数情形下,dialogBoxLauncher通过启动内置对话框,提供给用户更多的选项。当然,您也可以创建自已的用户窗体,提供给用户额外的选项或者帮助文档。
1、dialogBoxLauncher元素必需和可选的属性
dialogBoxLauncher元素没有任何必需的和可选的属性,其依赖于拥有属性的子对象。
2、dialogBoxLauncher元素允许的子对象
dialogBoxLauncher是一个容器,因此不仅接受子对象,而且需要子对象实现功能。dialogBoxLauncher必须具有且仅有一个按钮作为其子对象。实际上,按钮的作用是启动应用程序对话框。
3、dialogBoxLauncher元素的父对象
使用dialogBoxLauncher的唯一的地方是组。
4、dialogBoxLauncher元素使用示例
在UI中,有三种不同的方式实现dialogBoxLauncher:
n 使用Microsoft已经使其可用的缺省的对话框启动器之一
n 创建自定义启动器来使用Microsoft的其它对话框之一
n 创建自定义启动器来启动自定义用户窗体
内置的对话框启动器
在自定义组中添加对话框启动器最简单的方式是使用Microsoft内置的对话框启动器按钮作为其子对象。
(1)创建一个新的.xlsx文件,并将其保存为Excel dialogBoxLauncher Example.xlsx。
(2)关闭该文件并在CustomUI Editor中打开。
(3)输入下列XML代码:
<customUI xmlns=“http://schemas.microsoft.com/office/2006/01/customui“>
<ribbon
startFromScratch=“false“>
<tabs>
<tab id=“rxtabDemo“
label=“Demo“
insertBeforeMso=“TabHome“>
<group id=“rxgrpTest“
label=“Test“>
<box id=“rxboxFormat“>
<comboBox idMso=“Font“ />
<comboBox idMso=“FontSize“ />
</box>
<dialogBoxLauncher>
<button idMso=“FormatCellsFontDialog“/>
</dialogBoxLauncher>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
注意,dialogLauncher仅仅是包含一个按钮的壳。使用dialogBoxLauncher的技巧是确保使用了正确的内置对话框按钮。
(4)保存后关闭CustomUI Editor。
(5)在Excel中重新打开该文件,单击“Test”组右下角的对话框启动器,结果如下图所示。
使用内置对话框的自定义对话框启动器
(1)创建一个新的.xlsm文件,并将其保存为Excel dialogBoxLauncher Example1.xlsm。
(2)关闭该文件并在CustomUI Editor中打开。
(3)输入下列XML代码:
<customUI xmlns=“http://schemas.microsoft.com/office/2006/01/customui“>
<ribbon
startFromScratch=“false“>
<tabs>
<tab id=“rxtabDemo“
label=“Demo“
insertBeforeMso=“TabHome“>
<group id=“rxgrpTest“
label=“Test“>
<box id=“rxboxFormat“>
<comboBox idMso=“Font“ />
<comboBox idMso=“FontSize“ />
</box>
<dialogBoxLauncher>
<button id=“rxbtnDialog“
onAction=“rxbtnDialog_click“
screentip=“Launch Dialog“/>
</dialogBoxLauncher>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
注意,没有与按钮相关的图像。即使您提供了按钮图像,它也会被对话框启动器图像覆盖。
(4)生成回调签名并复制,保存后关闭CustomUI Editor。
(5)在Excel中重新打开该文件,打开VBE,插入一个新模块,粘贴回调签名代码。
(6)编写回调代码:
‘rxbtnDialog onAction回调
Sub rxbtnDialog_click(control As IRibbonControl)
Application.Dialogs(xlDialogFormatFont).Show
End Sub
编写代码较困难的是找到合适的对话框常量(本例中为xlDialogFormatFont),您可以使用对象浏览器或者智能感知功能来查找。
(7)关闭工作簿后重新打开。单击“Test”组右下角的对话框启动器,将出现“字体”对话框。
当然,您也可以修改回调代码中的对话框常量,调用其它对话框。
使用自定义用户窗体的自定义对话框
(1)创建一个新的.xlsm文件,并将其保存为Excel dialogBoxLauncher Example2.xlsm。
(2)关闭该文件并在CustomUI Editor中打开。
(3)输入下列XML代码(即沿用前一示例):
<customUI xmlns=“http://schemas.microsoft.com/office/2006/01/customui“>
<ribbon
startFromScratch=“false“>
<tabs>
<tab id=“rxtabDemo“
label=“Demo“
insertBeforeMso=“TabHome“>
<group id=“rxgrpTest“
label=“Test“>
<box id=“rxboxFormat“>
<comboBox idMso=“Font“ />
<comboBox idMso=“FontSize“ />
</box>
<dialogBoxLauncher>
<button id=“rxbtnDialog“
onAction=“rxbtnDialog_click“
screentip=“Launch Dialog“/>
</dialogBoxLauncher>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
(4)生成回调签名并复制,保存后关闭CustomUI Editor。
(5)在Excel中重新打开该文件,打开VBE,插入一个新模块,粘贴回调签名代码。
(6)插入一个新的用户窗体,在其中添加标签和按钮。修改标签和按钮,如下图所示。
添加按钮单击事件:
Private Sub CommandButton1_Click()
Unload Me
End Sub
表明当单击按钮后卸载用户窗体。
(7)编写回调代码,使用户单击对话框启动器时启动自定义的用户窗体:
‘rxbtnDialog onAction回调
Sub rxbtnDialog_click(control As IRibbonControl)
UserForm1.Show
End Sub
(8)关闭工作簿后重新打开。单击“Test”组右下角的对话框启动器,将显示刚才自定义的用户窗体。
更多阅读
100道门2013攻略100关图文详解:1 第1~10关
100道门2013攻略100关图文详解:[1]第1~10关——简介100道门2013是安卓平台一款新颖的解密益智游戏,你需要在房间中发现线索,然后把门打开进入下一个房间。每一个房间的主题都不一样,将给你带来百次不同的游戏体验!100道门2013攻略100关
excel公式函数详解:19 yearfrac函数用法介绍
excel公式函数详解:[19]yearfrac函数用法介绍——简介一个良好的规划对于生活品质和工作效率都极其重要,在实际生活中我们往往需要计算一年有几个项目,每个项目需要花费多长时间。不同的工作其所花的中心也应该不一样。在excel中有一个
Excel函数详解:166 FREQUENCY函数用法
Excel函数详解:[166]FREQUENCY函数用法——简介FREQUENCY函数,用于以垂直数组的形式返回多个数值在某个区域内出现的频率。该函数返回的是数组,所以必须以数组公式的形式进行输入。Excel函数详解:[166]FREQUENCY函数用法——工具/原料
微信开发详解:1 免费服务器 精 久久热在线视频精品99
微信开发详解:[1]免费服务器 精——简介微信开发详解:[1]免费服务器 精_免费服务器微信开发详解:[1]免费服务器 精 5、新弹出的页面中填写应用名称,勾选同意协议,其他的如图,然后点击确定。微信开发详解:[1]免费服务器 精 6、出现的新页
罪案现场35:亚特神庙攻略
亚特兰蒂斯神庙是一个神秘的地方,在这里有很多让你没命的机关,所以一定要小心从事。开始还比较简单,将凹槽中捡到的方块放在相应的地点开门,然后进入暗无天日的密室,游戏的最大优点是国语说明,一起来看看最新的罪案系列吧~罪案现场35:亚特神