Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Symbolleisten ausblenden

Symbolleisten ausblenden
12.05.2004 07:15:22
Jens
Hallo zusammen
Ich möchte beim öffnen einer bestimmten Exceldatei alle Symbolleisten und Menüleisten ausgeblendet. Es soll aber wirklich nur bei dieser einen Datei passieren.
Sobald ich Excel erneut starte oder eine andere Datei, sollen die Leisten wieder eingeblendet werden.
Ich habe das mal über folgende Befehle versucht.

Sub Symbolleisten_ausblenden()
CommandBars("Worksheet Menu Bar").Enabled = False
Application.DisplayFullScreen = True
ActiveWorkbook.Protect Windows:=True
End Sub



Sub Symbolleisten_einblenden()
ActiveWorkbook.Unprotect
CommandBars("Worksheet Menu Bar").Enabled = True
Application.DisplayFullScreen = False
End Sub

Erster Fehler.
Wenn ich die Befehle, so wie hier zu sehen, über Schaltflächen ausführe funktioniert das mit dem Ein- und Ausblenden. Lasse ich das Ausblenden über
Private

Sub Workbook_Open() ausführen, bekomme ich Fehlermeldungen Laufzeitfehler 91.
Zweiter Fehler.
Öffne ich Excel erneut, bleiben alle Leisten weiterhin ausgeblendet.
Wie bekomm ich das hin.
Guß Jens

		
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Symbolleisten ausblenden
12.05.2004 09:01:18
Oberschlumpf
Hi Jens
Fehler1:
Welche Fehlermeldung verbirgt sich denn hinter Laufzeitfehler 91?
Und welche Befehlszeile wird dann markiert?
Fehler2:
Du musst auch im Deactivate-Ereignis der Arbeitsmappe DIE Befehle eintragen, die die Symbolleisten wieder anzeigen.
Und damit sie wieder ausgeblendet werden, musst Du die "Ausblend-Befehle" ins Activate-Ereignis der Arbeitsmappe eintragen.
Konnte ich helfen?
Ciao
Thorsten
Anzeige
AW: Symbolleisten ausblenden
Jens
Vielen Dank Torsten, hab es hinbekommen.
weiß zwar nicht genau wie, aber mit diesem Befehl läuft es.

Private Sub Workbook_Open()
Dim oBar As CommandBar
Dim oButton As CommandBarButton
On Error Resume Next
CommandBars("Worksheet Menu Bar").Enabled = False
Application.DisplayFullScreen = True
ActiveWorkbook.Protect Windows:=True
Application.CommandBars.Add("My Commandbar").Delete
On Error GoTo 0
Set oBar = Application.CommandBars.Add("My Commandbar", _
MenuBar:=True, temporary:=True)
Set oButton = oBar.Controls.Add
Application.CommandBars("My Commandbar").Visible = True
End Sub

Ich hab nicht allzuviel Ahnung, hab ein bißchen rum experimentiert.
Vielleicht kannst Du mir diesen Befehl noch etwas verändern, denn die letzte Menüleiste mit "Datei / Bearbeiten / Ansicht / usw. bekomm ich über

Private Sub Workbook_Open() nicht ausgeblendet. Dafür muß ich mit einer eigenen Menüleiste überblenden.
Gibts da noch ne andere Lösung.
Übrigens die Fehlermeldung bei Laufzeitfehler 91 lautet:
Objektvariable oder With-Blockvariable nicht festgelegt.
Vielleicht kannst Du mir sagen was ich machen muss.
Gruß Jens

Anzeige
AW: Symbolleisten ausblenden
12.05.2004 13:17:29
Oberschlumpf
Hallo Jens
Mit dem folgenden (Beispiel)Code kannst Du ja mal testen.
Dazu öffnest Du zuerst eine neue Excel-Datei und fügst den Code in "Tabelle1" im VBA-Editor ein.
Und wenn Du das getan hast, dann klick mal in Tabelle1 in irgendeine Zelle.
Nun sollte alles, außer das Tabellenblatt selbst verschwunden sein.
Wenn Du erneut in eine Zelle klickst, sollte alles wieder erscheinen.
Nun kannst Du ja diesen Code verwenden, und ihn an Deinen anpassen.
Hoffe, dass ich helfen konnte.
Ciao Thorsten
hier der Code :-)


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'wenn die Menuzeile nicht verfügbar, dann
If CommandBars("Worksheet Menu Bar").Enabled = False Then
        'Menüzeile verfügbar
        CommandBars("Worksheet Menu Bar").Enabled = True
            With Application
                'SymLeiste "Standard" sichtbar
                .CommandBars("Standard").Visible = True
                'SymLeiste "Format" sichtbar
                .CommandBars("Formatting").Visible = True
                'SymLeiste "Toolbox" sichtbar
                .CommandBars("Control Toolbox").Visible = True
                'SymLeiste "Formular" sichtbar
                .CommandBars("Forms").Visible = True
                'SymLeiste "Diagramm" sichtbar
                .CommandBars("Chart").Visible = True
                'Arbeitszeile sichtbar
                .DisplayFormulaBar = True
                'Statuszeile sichtbar
                .DisplayStatusBar = True
                'weiss nicht, wie ich das nennen soll :-) sichtbar
                .ShowWindowsInTaskbar = True
            End With
            
            With ActiveWindow
                'Zeilen/Spaltenbeschriftung (z Bsp "A1") sichtbar
                .DisplayHeadings = True
                'horizontaler Scrollbalken sichtbar
                .DisplayHorizontalScrollBar = True
                'vertikaler Scrollbalken sichtbar
                .DisplayVerticalScrollBar = True
                'Blattnamenregister sichtbar
                .DisplayWorkbookTabs = True
            End With
    Else
        CommandBars("Worksheet Menu Bar").Enabled = False
            With Application
                .DisplayFormulaBar = False
                .DisplayStatusBar = False
                .ShowWindowsInTaskbar = False
                .CommandBars("Standard").Visible = False
                .CommandBars("Formatting").Visible = False
                .CommandBars("Forms").Visible = False
                .CommandBars("Control Toolbox").Visible = False
                .CommandBars("Chart").Visible = False
            End With
            
            With ActiveWindow
                .DisplayHeadings = False
                .DisplayHorizontalScrollBar = False
                .DisplayVerticalScrollBar = False
                .DisplayWorkbookTabs = False
            End With
End If
End Sub


Anzeige
AW: Symbolleisten ausblenden
Jens
Hallo Thorsten
Funktioniert auch sehr gut.
Nur eine Frage, Ich habe jetzt das Ein- und Ausblenden probeweise über Schaltflächen gesteuert um zu sehen, was ich aktiviere und deaktiviere.
Jetzt hätte ich aber immer noch das Problem, dass ich diesen Laufzeitfehler 91 bekommen wenn ich das Ganze in einen Private Sub Workbook_Open() Befehl einbinde unter Diese Arbeitsmappe.
Und zum zweiten bekomme ich Problem, wenn ich den Befehl DisplayFullScreen = True mit einbinden möchte, denn es soll auch in den Vollbildmodus gewechselte werden, damit kein X mehr zum schliessen der Datei vorhanden ist. Ich steuer alles über Schaltflächen.
Hier wird mir dann alles durcheinander gehaun.
Ich setzt mal meine Datei mit hier rein. Könntest Du die Datei bitte so einrichten, dass bei öffnen der Datei alles ausgeblendet wird und auch in den Vollbildmodus gewechselt wird. Beim schliessen soll aber vorher bitte alles wieder in Grundstellung gebracht werden.
Danke
Gruß Jens
https://www.herber.de/bbs/user/6282.xls
Anzeige
AW: Symbolleisten ausblenden
13.05.2004 08:55:03
Oberschlumpf
Hi Jens
Ich hab die Datei angepasst.
Nun...
...wird direkt nach dem Öffnen in Vollbildmodus umgeschaltet
...alle Symbolleisten verschwinden
...ein Klick auf "einschalten" blendet alle SymLeisten wieder ein
...ein Klick auf "ausschalten" blendet alle SymLeisten wieder aus
...wenn noch eine andere Excel-Datei geöffnet ist, und zu dieser gewechselt wird, werden alle Symleisten angezeigt und der Vollbildmodus wird deaktiviert
...wenn von einer anderen geöffneten Excel-Datei zu "Deiner" wieder zurück gewechselt wird, werden alle Symleisten wieder ausgeblendet und der Vollbildmodus wird aktiviert
Hier die Datei (zum Anpassen)
https://www.herber.de/bbs/user/6287.xls
Und? Funktionierts nun, wie Du es Dir vorstellst?
Ciao
Thorsten
Anzeige
AW: Symbolleisten ausblenden
Jens
Super Thorsten, genauso hab ich mir das vorgestellt.
Habe Deine Befehle auf meine Originaldatei übertragen und klappt super.
Allerdings wenn ich aus meiner Datei über eine Schaltfläche eine andere Datei aufrufe, bleiben trotzdem alle Menüleisten ausgeblendet. Ist aber kein Problem, denn wenn ich die andere Datei so aufrufe, dass eine neue Excelapplication gestartet wird, sind alle Leisten eingeblendet.
Dies mach ich dann über folgenden Befehl

Sub Datei_öffnen()
Dim stAppName As String
stAppName = "C:\Programme\Microsoft Office\Office\excel.exe G:\Daten\Datei.xls"
Call Shell(stAppName, 3)
End Sub

Vielein Dank für Deine Hilfe
Gruß Jens
Anzeige
bitte...gerne :-)..thx for feedback.. o.T.
Oberschlumpf
AW: bitte...gerne :-)..thx for feedback.. o.T.
Jens
Thorsten noch ne Frage
Wenn ich die Datei mit den ausgeblendeten Menüleisten geöffnet habe und dann aus dem Explorer eine Exceldatei öffne, wie kann ich verhindern, dass die ebenfalls nur mit ausgeblendeten Menüleisten öffnet.
Gruß Jens
zu Deiner Frage
15.05.2004 12:59:20
Oberschlumpf
Hi Jens
Sorry, dass ich jetzt erst antworte, aber ich hab Deine (Nach)Frage erst jetzt bemerkt.
Und leider kann ich das Problem hier nicht nachvollziehen.
Denn, wenn ich zuerst DIE Datei öffne, in der alle Symleisten ausgeblendet sind, und dann im Explorer eine beliebige andere xls-Datei starte, erscheinen in der neu geöffneten Datei alle zuvor ausgeblendeten SymLeisten.
Hast Du denn auch in das Deactivate-Ereignisse der Datei mit den ausgeblendeten SymLeisten DIE Befehle reingeschrieben, die bei "Verlassen" dieser Datei alle SymLeisten wieder einblenden?
Ciao erst mal
Thorsten
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Symbolleisten in Excel ausblenden


Schritt-für-Schritt-Anleitung

Um die Symbolleisten und Menüs in Excel auszublenden, kannst Du VBA (Visual Basic for Applications) verwenden. Folge diesen Schritten:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den Visual Basic for Applications-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf „VBAProject (deine_datei.xls)“ und wähle „Einfügen“ > „Modul“.
  3. Gib den folgenden Code ein, um das Menüband auszublenden:

    Sub Symbolleisten_ausblenden()
       CommandBars("Worksheet Menu Bar").Enabled = False
       Application.DisplayFullScreen = True
       ActiveWorkbook.Protect Windows:=True
    End Sub
  4. Um die Symbolleisten wieder einzublenden, füge diesen Code ein:

    Sub Symbolleisten_einblenden()
       ActiveWorkbook.Unprotect
       CommandBars("Worksheet Menu Bar").Enabled = True
       Application.DisplayFullScreen = False
    End Sub
  5. Automatisiere das Ausblenden beim Öffnen der Datei:

    • Füge den folgenden Code in den „Diese Arbeitsmappe“-Bereich ein:
    Private Sub Workbook_Open()
       Call Symbolleisten_ausblenden
    End Sub
  6. Füge den Code hinzu, um das Menüband beim Schließen der Datei wieder einzublenden:

    Private Sub Workbook_BeforeClose(Cancel As Boolean)
       Call Symbolleisten_einblenden
    End Sub

Häufige Fehler und Lösungen

  • Laufzeitfehler 91: Dieser Fehler tritt auf, wenn Du versuchst, auf ein nicht existierendes Objekt zuzugreifen. Überprüfe, ob alle CommandBars existieren, bevor Du sie ansteuerst.

  • Menüleiste bleibt ausgeblendet: Stelle sicher, dass die Workbook_BeforeClose-Subroutine korrekt eingerichtet ist, um die Leisten beim Schließen der Datei wieder einzublenden.


Alternative Methoden

Eine andere Möglichkeit, das Excel-Menüband auszublenden, besteht darin, die Worksheet_SelectionChange-Ereignisprozedur zu verwenden. Hier ist ein Beispiel:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If CommandBars("Worksheet Menu Bar").Enabled = False Then
        CommandBars("Worksheet Menu Bar").Enabled = True
    Else
        CommandBars("Worksheet Menu Bar").Enabled = False
    End If
End Sub

Diese Methode blendet das Menüband basierend auf der Zellenauswahl ein oder aus.


Praktische Beispiele

  1. Vollbildmodus aktivieren: Um die Excel-Anwendung im Vollbildmodus zu starten, kannst Du Application.DisplayFullScreen = True verwenden.

  2. Ein- und Ausblenden von Symbolleisten: Verwende CommandBars("Standard").Visible = True oder False, um die Standard-Symbolleiste ein- oder auszublenden.

  3. Statusleiste ausblenden: Um die Statusleiste auszublenden, kannst Du folgenden Code verwenden:

    Application.DisplayStatusBar = False

Tipps für Profis

  • Steuere das Menüband über Schaltflächen: Du kannst Schaltflächen in deiner Excel-Datei erstellen, um das Ein- und Ausblenden der Menüs zu steuern. So hast Du mehr Kontrolle über die Benutzeroberfläche.

  • Verwende Fehlerbehandlung: Füge On Error Resume Next hinzu, um Fehler zu ignorieren und sicherzustellen, dass der Code weiterläuft, auch wenn ein Befehl fehlschlägt.

  • Testen in verschiedenen Excel-Versionen: Stelle sicher, dass Dein Code in der Version funktioniert, die Du verwendest, da einige Befehle in älteren Versionen nicht unterstützt werden.


FAQ: Häufige Fragen

1. Wie kann ich alle Excel-Leisten ausblenden? Du kannst alle Leisten ausblenden, indem Du die entsprechenden CommandBars-Befehle in Deinem VBA-Code verwendest.

2. Was kann ich tun, wenn die Leisten beim Öffnen einer neuen Datei weiterhin ausgeblendet bleiben? Achte darauf, dass Du die Befehle zum Einblenden der Leisten im Workbook_BeforeClose-Ereignis implementierst, um sicherzustellen, dass sie wieder sichtbar sind, wenn eine neue Datei geöffnet wird.

3. Funktioniert dieser Code in Excel 365? Ja, der Code sollte in Excel 365 und anderen neueren Versionen funktionieren, solange die entsprechenden CommandBars verfügbar sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige