2016-07-28 22 views
0

Ich bin neu in der Programmierung, aber ich habe versucht, mit Excel-Bändern zu experimentieren. Ich verwende den Custom UI Editor. Ich wollte die Bedienelemente insertBefore und insertAfter verwenden, um meine benutzerdefinierten Schaltflächen neu anzuordnen. Wenn ich keinen eindeutigen Namespace und insertAfterQ/insertBeforeQ auf Schaltflächenebene verwende, ändert sich die Reihenfolge der Schaltflächen nicht. Wenn ich sie verwende, kann ich das zugehörige Makro (wahrscheinlich aufgrund meines Namespace) nicht sehen. OnAction wird danach nichts tun Klicken Sie auf die Schaltflächen. Ich habe verschiedene Kombinationen von idQ ausprobiert, aber ich kann es nicht funktionieren lassen. Das folgende Beispiel führt nur die Schaltfläche 2 korrekt aus, die sich nicht in dem angegebenen Namensraum befindet. Ein einfaches Beispiel:Benutzerdefinierte Schaltflächen neu anordnen

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" xmlns:x="MyNameSpace"> 
    <ribbon> 
     <tabs> 
      <tab idQ="x:customTab" label="My Order Form" insertAfterMso="TabHome"> 
       <group idQ="x:customGroup" label="My Order Form Tools"> 
        <button idQ="x:customButton1" label="Clear" size="large" onAction="DeleteOrder" image="deleteorder" /> 
        <button id="customButton2" label="Print" size="large" onAction="ResetOrder" image="resetorder" /> 
        <button idQ="x:customButton3" label="Home" size="large" onAction="NewOrder" insertBeforeQ="x:customButton1" image="neworder" /> 
       </group>     
      </tab> 
     </tabs> 
    </ribbon> 
</customUI> 

Gibt es eine Möglichkeit onAction Arbeit im Namensraum zu machen? Oder gibt es einen anderen Weg? Vielen Dank, TS

Antwort

0

Benötigen Sie wirklich den Namensraum?

Wenn Sie Ihre eigene Steuerelemente neu anordnen möchten, wechseln Sie einfach Orte in der xml:

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"> 
    <ribbon> 
     <tabs> 
      <tab id="customTab" label="My Order Form" insertAfterMso="TabHome"> 
       <group id="customGroup" label="My Order Form Tools"> 
        <button id="customButton3" label="Home" size="large" onAction="NewOrder" image="neworder" /> 
        <button id="customButton1" label="Clear" size="large" onAction="DeleteOrder" image="deleteorder" /> 
        <button id="customButton2" label="Print" size="large" onAction="ResetOrder" image="resetorder" /> 
       </group>     
      </tab> 
     </tabs> 
    </ribbon> 
</customUI> 

Wenn Sie Ihre Kontrollen in Bezug auf integrierte Steuerelemente platzieren möchten, verwenden Sie insertBeforeMso oder insertAfterMso, wie in Ihrem "customTab" . Von dem, was ich sagen kann, müssen Sie nur den Namespace und IDQ-IDs verwenden, wenn Sie Steuerelemente von CustomUI-XML in verschiedenen Dateien kombinieren.