繁体   English   中英

设置 getScreentip 功能区 xml 属性时 ExcelDNA 不工作

[英]ExcelDNA not working when getScreentip ribbon xml attribute is set

没有放置整个色带 xml,这是我的按钮:

<button id="getLatestCEVersion" keytip="N" label="Download Latest" screentip="Download latest version of this CalcEngine" imageMso="MarkForDownload" onAction="RibbonXOnActionWithTag" tag="GetCurrentCalcEngine" size="large" getEnabled="RibbonXGetEnabled" />

一切都按预期工作。 如果我只是像这样添加getScreentip属性:

<button id="getLatestCEVersion" keytip="N" label="Download Latest" screentip="Download latest version of this CalcEngine" imageMso="MarkForDownload" onAction="RibbonXOnActionWithTag" tag="GetCurrentCalcEngine" size="large" getEnabled="RibbonXGetEnabled" getScreentip="RibbonXGetScreentip" />

从未调用功能区 onload 事件(通过<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="RibbonXOnLoad">设置)并且功能区未设置,因此在我尝试使功能区控件无效。

        public void RibbonXOnLoad( IRibbonUI ribbon )
        {
            this.ribbon = ribbon;
        }

我认为我的代码对于屏幕提示处理程序并不重要,因为它甚至没有进入它,但它是:

        public string RibbonXGetScreentip( IRibbonControl control )
        {
            switch ( control.Id )
            {
                case "getLatestCEVersion":
                    return "Download latest version of this CalcEngine";
                case "checkInCalcEngine":
                    return "Check CalcEngine into Management Site";
                case "checkOutCalcEngine":
                    return "Check CalcEngine out from Management Site";

                default: throw new ArgumentOutOfRangeException();
            }
        }

ExcelDna 是否支持getScreentip 那里没有很多信息,但我已经看到了一些据称正在使用它的样本,所以我认为它一定是。

当您在示例中添加getScreentip时,您的功能区定义变得无效,因为screentipgetScreentip属性是互斥的(根据 Microsoft 的功能区 XML 规范),它们不能一起使用。

即要使用getScreentip ,请删除screentip属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM