【问题标题】:How to intercept clicking of a built-in Office Ribbon control如何拦截单击内置 Office 功能区控件
【发布时间】:2014-01-16 20:23:42
【问题描述】:

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

是否有可能以某种方式劫持这个按钮点击?我以前见过应用程序劫持 Excel Save。我正在寻找仅使用页眉/页脚按钮的类似行为。

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

【问题讨论】:

  • 可以添加 Ribbon xml 来改变现有按钮的行为。我把它作为一个学习项目来完成。但是现在我找不到任何教程。

标签: c# excel add-in excel-addins


【解决方案1】:

我发现可行的一种方法是使用功能区 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-ribbon?forum=vsto

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    • 2019-05-02
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多