Excel Ribbon anpassen: StartFromScratch per VBA
Schritt-für-Schritt-Anleitung
-
Ribbon anpassen: Um das Excel Ribbon mithilfe von VBA zu steuern, benötigst du einen XML-Code, der die Struktur deines Ribbons definiert.
-
XML-Code erstellen: Verwende das folgende Beispiel als Grundlage für deinen Ribbon-Code:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="onLoad_Test">
<ribbon>
<tabs>
<tab id="tab0" label="Test">
<group id="grp0" label="Test">
<button id="btn0" label="Ein-Aus" imageMso="_1" size="large" onAction="onAction_Button1" />
</group>
</tab>
<tab idMso="TabHome" getVisible="getVisible_IntTabs" />
<tab idMso="TabDeveloper" getVisible="getVisible_IntTabs" />
</tabs>
</ribbon>
</customUI>
-
VBA-Code einfügen: Erstelle eine neue VBA-Prozedur in deinem Excel-Dokument:
Option Explicit
Public objRibbon As IRibbonUI
Public bolVisibleTabs As Boolean
Public Sub onLoad_Test(ribbon As IRibbonUI)
Set objRibbon = ribbon
End Sub
Public Sub getVisible_IntTabs(control As IRibbonControl, ByRef returnValue)
If bolVisibleTabs Then returnValue = True
End Sub
Public Sub onAction_Button1(control As IRibbonControl)
bolVisibleTabs = Not bolVisibleTabs
objRibbon.Invalidate
End Sub
-
Ribbon testen: Speichere die Änderungen und lade das Excel-Dokument neu, um die Änderungen am Ribbon zu sehen.
Häufige Fehler und Lösungen
Alternative Methoden
Falls du das Ribbon nicht über VBA steuern möchtest, kannst du die Sichtbarkeit der Tabs auch über die Excel-Benutzeroberfläche anpassen. Gehe dazu zu den Excel-Optionen und wähle die gewünschten Registerkarten aus. Dies ist jedoch weniger flexibel als die Programmierung über VBA.
Praktische Beispiele
Ein praktisches Beispiel für das Ein- und Ausblenden von Registerkarten bietet die folgende VBA-Prozedur. Diese Prozedur lässt sich leicht anpassen, um verschiedene Registerkarten im Excel Ribbon zu steuern.
Public Sub ToggleTabs()
bolVisibleTabs = Not bolVisibleTabs
objRibbon.Invalidate
End Sub
Nutze diese Methode, um gezielt bestimmte Tabs im Ribbon ein- oder auszublenden, je nach Bedarf.
Tipps für Profis
-
Nutze getVisible: Mit dem getVisible-Attribut kannst du die Sichtbarkeit der Tabs dynamisch steuern. Dies erlaubt eine benutzerdefinierte Anpassung deines Excel Ribbons zur Laufzeit.
-
Testen in verschiedenen Excel-Versionen: Teste deinen Code in verschiedenen Versionen von Excel, um sicherzustellen, dass er überall funktioniert. Der Code sollte idealerweise in Excel 2013 oder neuer getestet werden.
FAQ: Häufige Fragen
1. Kann ich startFromScratch per VBA setzen?
Nein, das ist nicht möglich. Du kannst jedoch die Sichtbarkeit der Tabs über getVisible steuern.
2. Wie kann ich mehrere Registerkarten gleichzeitig ein- oder ausblenden?
Du kannst eine Schleife in deiner VBA-Prozedur verwenden, um die Sichtbarkeit mehrerer Tabs gleichzeitig zu steuern, indem du die bolVisibleTabs-Variable entsprechend änderst.