RibbonX-Workshop - Die Command-Ebene
Die Command-Ebene muss zwingend vor dem Ribbon initialisiert werden.
In diesem Beispiel werden folgende Befehle deaktiviert:
Excel-Optionen, Beenden-Schaltfläche.
Schließkreuz, Minimieren, Wiederherstellen der Tabelle und der Hilfebutton.
Die Tastenkombination ALT+F4 wird nicht deaktiviert, die Anwendung kann noch immer über selbige geschlossen werden.
<commands>
<!-- Deaktiviert die Hilfe -->
<command idMso="Help" enabled="false"/>
<!-- Deaktiviert das Schließkreuz -->
<command idMso="WindowClose" enabled="false"/>
<!-- Deaktiviert "Wiederherstellen" -->
<command idMso="WindowRestore" enabled="false"/>
<!-- Deaktiviert "Minimieren" -->
<command idMso="WindowMinimize" enabled="false"/>
<!-- Deaktiviert das Optionsmenü -->
<command idMso="ApplicationOptionsDialog" enabled="false"/>
<!-- Deaktiviert die Beenden-Schaltfläche -->
<command idMso="FileExit" enabled="false" />
</commands> <!-- Ende Command-Ebene -->
Kommen wir nun zum Umlenken eines Befehls auf eine eigene Prozedur. Im Beispiel lenken wir "Speichern" um.
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<commands>
<command idMso="FileSave" onAction="onAction_Ersatz" />
</commands>
<ribbon></ribbon>
</customUI>
Public Sub onAction_Ersatz(control As IRibbonControl, ByRef cancelReturn)
Rem Standardbefehl abbrechen
cancelReturn = True
Rem Eigene Routine
MsgBox "Dieser Befehl ist hier unzulässig", 64, "Hinweis"
End Sub
Die Tastenkombinationen bleiben weiterhin aktiv. Sie müssen Sie also separat deaktivieren, z.B. über Application.OnTime im Workbook_Activate-Ereignis. Aber bitte vergessen Sie dann nicht, die Tastenkombinationen im Workbook_Deactivate-Ereignis wieder zurückzusetzen.