首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RibbonX编辑器回调和交互

RibbonX编辑器回调和交互
EN

Stack Overflow用户
提问于 2020-08-02 10:52:00
回答 1查看 261关注 0票数 0

关于RibbonX回调函数,我有(相当基本的)问题。

我用VBA封装在VBA模块中编写了一些宏,并使用Office RibbonX Editor创建了一个带状选项卡。

我用编辑器创建了一个XML .

代码语言:javascript
复制
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <ribbon startFromScratch="false">
        <tabs>
            <tab id="maintab" label="My Macros">
                
                <group id="g_general" label="General">
                    <button
                        id="btn_toggle_confidential"
                        label="Toggle Confidential"
                        onAction="Toggle_Confidential_Text"
                        size="large"
                        imageMso="MailMergeUpdateLabels"
                        supertip="Toggles the visibility of the 'confidential' tag in the master and in the title layout." />
...

...for所有我希望在带中可用的函数,例如:

代码语言:javascript
复制
Sub Toggle_Confidential_Text()
    If Has_Confidential_Text() = False Then
        MsgBox "ATTENTION! There is no confidential tag in the slide master!"
        Exit Sub
    End If  
    ' etc...
End Sub

一切都很好,就像预期的那样!

在ribbonX编辑器的“回调查看器”中,我看到了以下内容:

代码语言:javascript
复制
'Callback for btn_toggle_confidential onAction
Sub Toggle_Confidential_Text(control As IRibbonControl)
End Sub

我的问题是:

  1. 如何将按钮准确地连接到我的代码模块中的函数?或者这仅仅是在幕后完成的“路由”的简化显示?
  2. 是自动传递的IRibbonControl参数,尽管我自己的子例程声明没有提到它?
  3. 可以(或者如何)访问子程序中的IRibbonControl参数来与带状元素进行交互?我是否需要重新设计我的方法并包装我的子程序,或者我可以访问这个参数,因为它是隐式传递的?
EN

回答 1

Stack Overflow用户

发布于 2020-08-02 18:46:21

  1. 它不应该像你说的那样起作用..。如果回调Sub不包含control As IRibbonControl,它应该返回一个错误:“错误的参数数或无效的属性分配”。至少,这是在我尝试创建没有control As IRibbonControl参数的回调

时发生的。

  1. 用于按钮控件,不自动传递参数。如果您进行了推荐的声明,您可以使用'Contol.ID‘来按下按钮名。‘'Label’事实上.

  1. 您可以,但不仅知道控制标签。除了标签,它还提供ContextContext
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63215124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档