细品RibbonX(35):dialogBoxLauncher元素详解

细品RibbonX(35):dialogBoxLauncher元素详解

资料整理来自于论坛
完整版下载地址:http://download.csdn.net/download/nodeman/10264659

 

 Loading ...

 

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)生成回调签名并复制,保存后关闭CustomUIEditor。

(5)在Excel中重新打开该文件,打开VBE,插入一个新模块,粘贴回调签名代码。

(6)编写回调代码:

‘rxbtnDialog onAction回调

SubrxbtnDialog_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)生成回调签名并复制,保存后关闭CustomUIEditor。

(5)在Excel中重新打开该文件,打开VBE,插入一个新模块,粘贴回调签名代码。

(6)插入一个新的用户窗体,在其中添加标签和按钮。修改标签和按钮,如下图所示。

 

添加按钮单击事件:

Private SubCommandButton1_Click()

    Unload Me

End Sub

表明当单击按钮后卸载用户窗体。

(7)编写回调代码,使用户单击对话框启动器时启动自定义的用户窗体:

‘rxbtnDialog onAction回调

SubrxbtnDialog_click(control As IRibbonControl)

     UserForm1.Show

End Sub

(8)关闭工作簿后重新打开。单击“Test”组右下角的对话框启动器,将显示刚才自定义的用户窗体。

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值