0

Excel用の.netアドインがあります。アドインはExcel2007のリボンUIを作成し、切り取り、コピー、貼り付け、並べ替えなどの既存のコマンドを再利用します。

切り取り、コピー、貼り付けの場合、ボタンがクリックされたときにOnAction値をオーバーライドして、独自のプロシージャを呼び出します。ただし、Sort、Sort Asc、およびSort Descコマンドの場合、大文字と小文字は少し異なります。[並べ替え]、[並べ替え]、[説明の並べ替え]ボタンのいずれかをクリックすると、通知を受け取り、デフォルトの機能を呼び出します。これは、Excel 2003コマンドバーでCommandBarControlのExecute()メソッドを呼び出すことで可能でした。

Excel 2007には、プログラムでリボン要素をクリックするExecuteMso()メソッドがありますが、OnActionがオーバーライドされると、このExecuteMso()メソッドは、そのボタンのデフォルト機能ではなく、独自のプロシージャを実行するだけです。

そこで、[ホーム]タブの[編集]グループにある[並べ替え]ボタンを非表示にして、[並べ替え]、[昇順]、[説明を並べ替え]ボタンを追加することを考えました。ボタンは最初にプロシージャを呼び出し、そこからデフォルトの動作を呼び出します。

ここで問題となるのは、編集グループ(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 に答える