Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
688to692
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
688to692
688to692
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

CommandBars Aus/Einblenden

CommandBars Aus/Einblenden
31.10.2005 18:09:15
Dieterlem
Ich versuche die Arbeitsblatt-Menüleiste per VBA auszublenden. Dies funktioniert auch mit dem unten gezeigten Code recht gut. Nur wenn ich sie auf die gleiche Weise wieder einblenden will erhalte ich immer folgende Fehlermeldung:
"Fehler beim Kompilieren: Methode oder datenobjekt nicht gefunden."
Was mache ich falsch?
Sub Workbook_open()
...
If _
Application.Commandbars("Worksheet Menue Bar").Enabled = True Then
Application.Commandbars("Worksheet Menue Bar").Enabled = False
End If
...
Sub Workbook_BeforeClose(Cancel As Boolean)
...
If _
Application.Commandbars("Worksheet Menue Bar").Enabled = False Then
Application.Commandbars("Worksheet Menue Bar").Enabled = True
End If
...
Gruß dieterlem

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CommandBars Aus/Einblenden
31.10.2005 18:11:12
Kurt
Worksheet Menu Bar
AW: CommandBars Aus/Einblenden
31.10.2005 18:39:09
Dieterlem
Hallo,
Also der Tippfehler ist mir nur hier im Forum passiert. Die Frage bleibt leider damit unbeantwortet.
trotzdem Danke Kurt.
Es heißt natürlich:
Sub Workbook_open()
...
If _
Application.Commandbars("Worksheet Menu Bar").Enabled = True Then
Application.Commandbars("Worksheet Menu Bar").Enabled = False
End If
...
Sub Workbook_BeforeClose(Cancel As Boolean)
...
If _
Application.Commandbars("Worksheet Menu Bar").Enabled = False Then
Application.Commandbars("Worksheet Menu Bar").Enabled = True
End If
...
Anzeige
AW: CommandBars Aus/Einblenden
31.10.2005 18:46:01
Leo
Hi,
die Abfrage ist nicht erforderlich:

Private Sub Workbook_Open()
Application.Commandbars("Worksheet Menu Bar").Enabled = False
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.Commandbars("Worksheet Menu Bar").Enabled = True
End Sub

Wobei wahrscheinlich die Ereignisse:

Private Sub Workbook_Activate()
und

Private Sub Workbook_Deactivate()
die bessere Wahl sind.
mfg Leo

Anzeige
AW: CommandBars Aus/Einblenden
31.10.2005 18:47:49
Matthias
Hallo Dieter,
ich würde es so machen:

Private Sub Workbook_Activate()
Application.CommandBars("Worksheet Menu Bar").Enabled = False
End Sub
Private Sub Workbook_Deactivate()
Application.CommandBars("Worksheet Menu Bar").Enabled = True
End Sub

Das ist universeller und nervt nicht, wenn man andere Mappe offen hat, die die Menu Bar ja wohl haben sollen.
Gruß Matthias
AW: CommandBars Aus/Einblenden
31.10.2005 19:41:36
Dieterlem
Das ist universeller und nervt nicht, wenn man andere Mappe offen hat, die die Menu Bar ja wohl haben sollen.
Das ist eine gute Sache, werde ich später noch einbauen, aber es ist auch nicht die Lösung.
Ich habe inzwischen auch die Abfrage herausgenommen doch leider hilft es mir nicht weiter.
Vieleicht hilft ein etwas genauerer Blick auf meinen Code:
Private Sub Workbook_open()
'========================Symbolleisten AUSSCHALTEN===================
Dim e%
For Each Cd In Application.CommandBars
If Cd.Type msoBarTypeMenuBar Then
If Cd.Visible Then
On Error Resume Next
e = e + 1
ReDim Preserve Cdb(e)
Cdb(e) = Cd.Name
Cd.Visible = False
End If
End If
Next Cd
Application.CommandBars("Worksheet Menu Bar").Enabled = False 'Menüleiste Datei, Bearbeiten...
With ActiveWindow
.DisplayHorizontalScrollBar = True 'Horizontale Bildlaufleiste
.DisplayVerticalScrollBar = True 'Horizontale Bildlaufleiste
.DisplayWorkbookTabs = False '"Tabellentabs" unten False = ausblenden
.DisplayHeadings = False 'Zeilenbeschriftung A1;A2;A3;A4... False = ausblenden
.WindowState = xlMaximized 'Fenstergröße maximieren
End With
...
SYMBOLLEISTE "sport1" wird erzeugt
...
Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next ' Falls die Symbolleiste nicht existiert, überspringen
Application.CommandBars("Sport1").Delete
On Error GoTo 0
'==================DINGE WIEDER EINSCHALTEN============================
'Alle zuvor ausgeblendeten Symbolleisten werden wieder eingeblendet=====
Dim e%
On Error Resume Next
For e = 1 To UBound(Cdb)
Application.CommandBars(Cdb(e)).Visible = True
Next e
'========================================================================
Application.CommandBars("Worksheet Menu Bar").Enable = True 'Menüleiste Datei, Bearbeiten...
With ActiveWindow
.DisplayHorizontalScrollBar = True 'Horizontale Bildlaufleiste
.DisplayVerticalScrollBar = True 'Horizontale Bildlaufleiste
.DisplayWorkbookTabs = True '"Tabellentabs" unten False = ausblenden
.DisplayHeadings = True 'Zeilenbeschriftung A1;A2;A3;A4... False = ausblende
.WindowState = xlMaximized
End With
Gruß Dieterlem
Anzeige
AW: CommandBars Aus/Einblenden
31.10.2005 19:54:40
Matthias
Hallo Dieterlem,
du brauchst dir nicht zu merken, welche Symbolleisten sichtbar waren und welche nicht. Setzt alle auf .Enabled = False, und sie sind deaktiviert. Setze .Enabled wieder auf True, und sie werden anzeigt oder nicht, je nach vorherigem Zustand.
Private Sub Workbook_Activate()
Dim cb As CommandBar
For Each cb In Application.CommandBars
    cb.Enabled = False
Next cb
With ActiveWindow
    .DisplayHorizontalScrollBar = True 'Horizontale Bildlaufleiste
    .DisplayVerticalScrollBar = True 'Horizontale Bildlaufleiste
    .DisplayWorkbookTabs = False '"Tabellentabs" unten False = ausblenden
    .DisplayHeadings = False 'Zeilenbeschriftung A1;A2;A3;A4... False = ausblenden
    .WindowState = xlMaximized 'Fenstergröße maximieren
End With
'SYMBOLLEISTE "sport1" wird erzeugt
'
'
End Sub
Private Sub Workbook_Deactivate()
Dim cb As CommandBar
For Each cb In Application.CommandBars
    cb.Enabled = True
Next cb
On Error Resume Next
 Application.CommandBars("Sport1").Delete
On Error Goto 0
With ActiveWindow
.DisplayHorizontalScrollBar = True 'Horizontale Bildlaufleiste
.DisplayVerticalScrollBar = True 'Horizontale Bildlaufleiste
.DisplayWorkbookTabs = True '"Tabellentabs" unten False = ausblenden
.DisplayHeadings = True 'Zeilenbeschriftung A1;A2;A3;A4... False = ausblende
.WindowState = xlMaximized
End With
End Sub
Gruß Matthias
Anzeige
AW: CommandBars Aus/Einblenden
31.10.2005 21:00:56
Dieterlem
OK das geht mit den Standard Menüleisten. Wenn ich allerdings eine eigene symbolleiste (z.b: "sport1") mit Application.CommandBars("Sport1").Enabled = False schließen will bekomme ich eine Fehlermeldung, wenn sie nicht (existiert oder angezeigt?) wird.
Deshalb mit:
On Error Resume Next
Application.CommandBars("Sport1").Delete
On Error Goto 0
Ich werde mal ein paar Versuche damit machen.
Gruß
Dieterlem
AW: CommandBars Aus/Einblenden
31.10.2005 22:30:21
Dieterlem
Hallo,
hab ein wenig mit Deiner Idee rumgespielt. Ich denke ich bin zu einem guten Ergebnis gekommen. Ich habe einmal die Experementierdatei hochgeladen. Wer Interesse hat kann ja damit mal ein wenig Spielen. Ich habe alle Subs auf Buttons gelegt, damit man das Ergebnis besser verfolgen kann. Eine Auswertung aller Symbolleisten ist auch dabei.
https://www.herber.de/bbs/user/28003.xls
Gruß
Dieterlem
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige