【问题标题】:MS Office Excel Ribbon - Cannot change/hide Editing group in Home tabMS Office Excel 功能区 - 无法更改/隐藏主页选项卡中的编辑组
【发布时间】:2009-12-01 11:52:25
【问题描述】:

我有一个用于 Excel 的 .net 插件。该插件为 Excel 2007 创建了功能区 UI,并重新利用了一些现有命令,例如剪切、复制、粘贴、排序等。

对于剪切、复制和粘贴,我只是在单击按钮时覆盖它们的 OnAction 值来调用我自己的过程。但对于 Sort、Sort Asc 和 Sort Desc 命令,情况略有不同。当单击 Sort、Sort Asc 或 Sort Desc 按钮时,我想得到通知,然后调用默认功能。这在 Excel 2003 命令栏中可以通过调用 CommandBarControl 上的 Execute() 方法来实现。

在 Excel 2007 中,有一个 ExecuteMso() 方法可以以编程方式单击功能区元素,但是当 OnAction 被覆盖时,这个 ExecuteMso() 方法只执行我自己的过程,而不是 默认 功能那个按钮。

所以我想我会在主页选项卡的“编辑”组中隐藏排序按钮,并添加我自己的排序、排序 Asc 和排序 Desc 按钮。这些按钮将首先调用我的过程,我将从那里调用默认行为。

现在的问题是我无法更改/隐藏编辑组 (idMso="GroupEditing")。这个内置组不可编辑吗?但是,我可以隐藏剪贴板和其他组(但不能向它们添加按钮)。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon>
    <tabs>
      <tab idMso="TabHome">        
        <group idMso="GroupEditing" visible="false" />
      </tab>
    </tabs>
  </ribbon>
</customUI>

【问题讨论】:

  • 任何有 Ribbon 经验的人?

标签: excel-2007 ribbon add-in


【解决方案1】:

我认为 idMso 在隐藏编辑组方面不正确。

idMso="GroupEditingExcel"

【讨论】:

  • 非常感谢安迪。我可以使用“GroupEditingExcel”ID 隐藏“编辑”组。你能给我一个链接,我可以在其中找到这些 ID 吗?此外,我尝试了“GroupClipboardExcel”,但它不适用于“剪贴板”组但“GroupClipboard”工作......奇怪吗?为什么圆顶 ID 有 Excel 后缀?
  • 虽然我使用处理程序方法的“ref bool cancelDefault”参数解决了这个问题,但我会将其标记为答案,因为它实际上回答了我在主要问题中的一个问题
猜你喜欢
  • 1970-01-01
  • 2013-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多