繁体   English   中英

如何拦截单击内置的Office功能区控件

[英]How to intercept clicking of a built-in Office Ribbon control

我想知道是否有可能检测到用户何时单击了Excel中的页眉/页脚按钮,这样我就可以在我的加载项选项卡上显示一些自定义页眉/页脚相关的功能区控件,并在用户不在页眉中时隐藏它们/页脚编辑模式。

是否有可能以某种方式劫持此按钮? 我见过应用程序劫持了Excel Save。 我正在寻找与页眉/页脚按钮类似的行为。

我正在使用C#,Visual Studio 2012和Excel 2010.我使用Ribbon XML方法创建了自定义功能区。

我发现的一种方法是使用Ribbon XML中的<commands>部分(我不知道它存在。)显然,这种机制允许你重新使用Excel固有的操作,但要注意并非所有控件都支持重新定义onAction回调)

<?xml version="1.0" encoding="UTF-8"?>
<customUI onLoad="Ribbon_Load" xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <commands>
        <command idMso="HeaderFooterInsert" onAction="testHeaderFooter"/>
    </commands>
  <ribbon>
    <tabs>...

以及相关的事件处理程序:

    public void testHeaderFooter(Office.IRibbonControl control, bool cancelDefault)
    {
        MessageBox.Show("Testing.");
        cancelDefault = false;
    }

这个链接非常有用:

http://social.msdn.microsoft.com/Forums/office/en-US/e1a60d16-053e-4697-b17c-b22d602f0400/intercept-the-onaction-event-of-a-gallery-element-of-excel- 2007-UI-带β=论坛VSTO

暂无
暂无

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

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