Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Das Ribbon von Microsoft Access macht meist, was es soll – es bietet die im aktuellen Kontext benötigten Befehle zur Auswahl an. Manchmal zickt es aber anscheinend rum: Es verschwindet oder wird nur beim Überfahren der Registerreiter sichtbar. Keine Frage: Meist sitzt das Problem vor dem Rechner und hat dieses Verhalten irgendwie angestoßen. Nur: Wie bekomme ich das Ribbon wieder in den Griff Dieser Beitrag erläutert, welche verschiedenen Zustände das Ribbon haben kann und wie Sie diese über die Benutzeroberfläche und per VBA einstellen beziehungsweise wiederherstellen können.
Standardansicht des Ribbons
Normalerweise erscheint das Ribbon wie in Bild 1. Sie können die verschiedenen Register beziehungsweise Tabs per Klick anzeigen und diese werden dauerhaft angezeigt.
Bild 1: Standardansicht des Ribbons
Es kann jedoch auch sein, dass nur die Leiste mit den Tab-Überschriften erscheint (siehe Bild 2). Diese Anzeige ist recht praktisch, wenn nicht viel Platz auf dem Bildschirm verfügbar ist. Sie klicken dann auf einen der Reiter, um die Befehle des jeweiligen Tabs einzublenden. Nachdem Sie den gewünschten Befehl aufgerufen haben, verschwindet die Leiste mit den Ribbon-Befehlen wieder.
Bild 2: Ribbon minimiert
Ribbon anheften
Wenn Sie das Ribbon dauerhaft sehen möchten, finden Sie nach dem Ausklappen auf der rechten Seite ein Pin-Symbol. Überfahren Sie dieses mit der Maus, erscheint die Beschreibung, die besagt, dass sich die Befehlsleiste mit dieser Schaltfläche oder mit der Tastenkombination Strg + F1 anheften lässt (siehe Bild 3).
Bild 3: Ausgeklapptes, nicht angeheftetes Ribbon mit der Möglichkeit zum anheften
Mit der Tastenkombination Strg + F1 können Sie die Leiste mit den Ribbon-Befehlen auch wieder in den nicht angehefteten Zustand bringen. Dieser Vorgang nennt sich reduzieren – über die Benutzeroberfläche stellen sie diesen Zustand her, indem Sie auf den kleinen Pfeil nach oben klicken, der sich im angehefteten Zustand rechts unten im Ribbon befindet.
Ein weiterer Weg, das Ribbon in den angehefteten Zustand zu überführen, ist ein Doppelklick auf einen der Tab-Reiter des Ribbons. Andersherum können Sie ein angeheftetes Ribbon per Doppelklick auf einen der Tab-Reiter auch wieder reduzieren.
Anheften und reduzieren per VBA
Es kann Gründe geben, warum Sie in Ihrer Anwendung den angehefteten oder den reduzierten Zustand herstellen möchten – beispielsweise damit der Benutzer sicher immer alle Ribbon-Befehle sieht und diese nicht verborgen sind.
Die Einstellung ist Access-spezifisch, das heißt, dass diese nicht geändert wird, wenn Sie eine Anwendung schließen und die nächste mit Access wieder öffnen.
Wenn der Benutzer also normalerweise aus Platzmangel mit dem reduzierten Ribbon arbeitet und Sie dieses maximieren wollen, um die Funktionalität Ihrer Anwendung sicherzustellen, können Sie das per VBA erledigen.
Sie sollten den vorherigen Zustand beim Schließen der Anwendung allerdings wieder herstellen.
Anheften und Reduzieren per Minimieren
Hier taucht eine kleine Ungereimtheit auf. Der folgende Befehl versetzt das Ribbon in den reduzierten Zustand, wenn es angeheftet war:
CommandBars.ExecuteMso "MinimizeRibbon"
Das ist noch logisch. Sie können den Befehl jedoch auch verwenden, um das Ribbon vom reduzierten in den angehefteten Zustand zu versetzen!
Wenn wir also zuverlässig den angehefteten oder den reduzierten Zustand herstellen wollen, müssen wir vorher abfragen, in welchem Zustand sich das Ribbon gerade befindet. Dafür gibt es wiederum keinen eingebauten Befehl, sondern wir nutzen die Tatsache, dass das Ribbon als CommandBar-Objekt referenzierbar ist, und zwar über CommandBars(„Ribbon“). Machen Sie sich keine Hoffnungen: Das Ribbon ist nun nicht über das CommandBar-Objektmodell zu bearbeiten. Das CommandBar namens Ribbon enthält lediglich ein Control mit dem Wert Ribbon in der Eigenschaft Caption.
Nützlich ist jedoch, dass die Height-Eigenschaft dieses Control-Objekts je nach Zustand unterschiedliche Werte zurückliefert. Haben wir das Ribbon zuvor in den angehefteten Zustand versetzt, liefert Height unter Access 365 den folgenden Wert:
Commandbars("Ribbon").Controls(1).Height 161
Stellen wir den reduzierten Zustand her, erhalten wir dieses Ergebnis:
Commandbars("Ribbon").Controls(1).Height 65
Diese Werte ändern sich gelegentlich. Unter Access 2010 liefert der reduzierte Zustand beispielsweise den Wert 54 und der angeheftete Zustand den Wert 142.
Man könnte also annehmen, dass der Wert im reduzierten Zustand unter 100 liegt und im angehefteten Zustand über 100. Allerdings haben wir die Rechnung gemacht, ohne die Möglichkeit zu betrachten, dass man die Schnellzugriffsleiste über und unter dem Ribbon platzieren kann.
Diesen Zustand ändern Sie, indem Sie in der Schnellzugriffsleiste auf das Symbol für das Aufklappmenü klicken und dort den Eintrag Unter dem Menüband anzeigen auswählen (siehe Bild 4).
Bild 4: Einstellen, ob die Schnellzugriffsleiste über oder unter dem Ribbon angezeigt werden soll
Wenn sich die Schnellzugriffsleiste unter dem Ribbon befindet, liefert CommandBars(„Ribbon“).Controls(1).Height ganz andere Werte, nämlich 100 für den reduzierten Zustand und 196 für den angehefteten Zustand (Access 365)! Unter Access 2010 liegen die Werte bei 78 und 168.
Wir können uns also bei der Ermittlung des aktuellen Zustandes nicht auf eine einfache Funktion wie die folgende verlassen, die von einem bestimmten Wert ausgeht:
Public Function MenuebandAngeheftet() As Boolean If CommandBars("Ribbon").Controls(1).Height > 100 Then MenuebandAngeheftet = True End If End Function
Wo befindet sich die Schnellzugriffsleiste aktuell
Stattdessen müssen wir noch ermitteln, ob die Schnellzugriffsleiste gerade über oder unter dem Ribbon angezeigt wird und das in die Funktion einbeziehen.
Aber Google lieferte keine Erkenntnisse darüber, wo wir eine Einstellung finden, mit der wir die Position der Schnellzugriffsleiste, auch Quick Access Toolbar genannt, einstellen können.
Schließlich haben wir es auf gut Glück in der Registry gesucht und dort QuickAccessToolbar als Suchbegriff eingegeben. Das hat den Eintrag aus Bild 5 geliefert. Der passende Registry-Zweig lautet:
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo