Barra multifunzione di MS Office Excel: impossibile modificare / nascondere il gruppo di modifica nella scheda Home

StackOverflow https://stackoverflow.com/questions/1825695

  •  22-07-2019
  •  | 
  •  

Domanda

Ho un componente aggiuntivo .net per Excel. Il componente aggiuntivo crea l'interfaccia utente della barra multifunzione per Excel 2007 e riutilizza alcuni comandi esistenti come Taglia, Copia, Incolla, Ordina ecc.

Per Taglia, Copia e Incolla, sto semplicemente sovrascrivendo il loro valore OnAction per chiamare la mia procedura quando si fa clic sui pulsanti. Ma per i comandi Ordina, Ordina Asc e Ordina Desc il caso è leggermente diverso. Quando si fa clic su uno dei pulsanti Ordina, Ordina Asc o Ordina Desc, si desidera ricevere una notifica e quindi chiamare la funzionalità predefinita. Ciò è stato possibile nelle barre dei comandi di Excel 2003 chiamando il metodo Execute () su CommandBarControl.

In Excel 2007, esiste un metodo ExecuteMso () per fare clic programmaticamente su un elemento della barra multifunzione ma quando OnAction viene sovrascritto, questo metodo ExecuteMso () esegue solo la mia procedura e non la funzionalità default di quel pulsante.

Quindi ho pensato di nascondere i pulsanti Ordina in " Modifica " gruppo nella scheda Home e aggiungi i miei pulsanti Ordina, Ordina Asc e Ordina Desc. I pulsanti chiameranno prima nella mia procedura da dove chiamerò il comportamento predefinito.

Ora il problema è che non riesco a cambiare / nascondere il gruppo di modifica (idMso = " GroupEditing "). Questo gruppo integrato non è modificabile? Posso tuttavia NASCONDERE gli Appunti e altri gruppi (ma non posso aggiungere pulsanti ad essi).

<?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>
È stato utile?

Soluzione

Penso che l'idMso sia errato in relazione al nascondere il gruppo di modifica.

idMso = " GroupEditingExcel "

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top