0

我有一个用于 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>
4

1 回答 1

1

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

idMso="GroupEditingExcel"

于 2010-01-13T16:46:00.027 回答