2009-12-01 31 views
0

我有一個Excel的.net插件。插件爲Excel 2007創建功能區UI,並重新使用一些現有的命令,如剪切,複製,粘貼,排序等。微軟Office Excel功能區 - 無法更改/隱藏編輯組在主頁選項卡

對於剪切,複製和粘貼我只是覆蓋它們的OnAction值來調用我自己的過程按鈕被點擊。但對於Sort,Sort Asc和Sort Desc命令,情況有點不同。當單擊Sort,Sort Asc或Sort Desc按鈕時,我想要獲得通知,然後調用默認功能。通過調用CommandBarControl上的Execute()方法,可以在Excel 2003命令欄中執行此操作。

在Excel 2007中,有一個ExecuteMso()方法以編程方式單擊帶狀元件,而是當的OnAction被重寫,這ExecuteMso()方法只是執行自己的程序,而不是該按鈕的默認功能

所以我認爲我會隱藏「主頁」選項卡「編輯」組中的排序按鈕,並添加自己的排序,排序Asc和排序說明按鈕。這些按鈕將首先從我將調用默認行爲的位置調用到我的過程中。

現在的問題是我無法更改/隱藏編輯組(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> 
+0

任何具有Ribbon功能的人? – A9S6 2009-12-08 03:39:16

回答

1

我認爲idMso在隱藏編輯組方面不正確。

idMso =「GroupEditingExcel」

+0

非常感謝安迪。我可以使用「GroupEditingExcel」ID隱藏「編輯」組。你能給我一個鏈接,我可以找到這些ID嗎?此外,我嘗試了「GroupClipboardExcel」,它不適用於「剪貼板」組但是「GroupClipboard」工作...奇怪的不是?爲什麼圓頂標識有一個Excel後綴? – A9S6 2010-01-15 08:50:55

+0

雖然我使用處理程序方法的「ref bool cancelDefault」參數解決了問題,但我會將其標記爲答案,因爲它實際上回答了我在主要問題中的一個問題 – A9S6 2010-01-15 08:52:47

相關問題