Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
908to912
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
908to912
908to912
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

alles ausblenden

alles ausblenden
26.09.2007 14:41:49
Benni
Hallo Forum,
ich benutze einen Code, um alle Leisten usw. auszublenden und somit eine schöne Oberfläche für einen Fragebogen zu haben. Nur leider ist es dann manchmal so, dass wenn ich speichere und schließe danach in allen anderen Dokumenten meine Bearbeitungsleiste ausgeblendet bleibt und ich sie manuell wieder einblenden muss. Findet irgend jemand den Grund dafür in folgendem Code?
Option Explicit
Dim Cn%
Dim CdbList()
Dim Status_FormulaBar As Boolean
Dim Status_HorScroll As Boolean
Dim Status_VerScroll As Boolean
Dim Status_StatusBar As Boolean
Dim Status_Gridlines As Boolean
Dim Status_Headings As Boolean
Dim Status_WorkTabs As Boolean
Dim Cdb As CommandBar
Sub Workbook_Open()
'Wenn Titelleiste von Excel geändern werden soll
Application.Caption = "Benchmarking - Business Consulting & Services"
'falls die eigenen Symbolleisten auch ausgeblendet werden sollen, dann den
'Code 'And Cdb.BuiltIn = True' aus nachstehender Zeile entfernen
Cn = 1
For Each Cdb In Application.CommandBars
If Cdb.Visible And Cdb.Type msoBarTypeMenuBar And Cdb.BuiltIn = True Then
ReDim Preserve CdbList(Cn)
CdbList(Cn) = Cdb.Name
Cn = Cn + 1
Cdb.Visible = False
End If
Next
'Stellt den Status fest und blendet alles aus
With ActiveWindow
Status_HorScroll = .DisplayHorizontalScrollBar
If .DisplayHorizontalScrollBar = True Then .DisplayHorizontalScrollBar = False
Status_VerScroll = .DisplayVerticalScrollBar
If .DisplayVerticalScrollBar = False Then .DisplayVerticalScrollBar = True
Status_Gridlines = .DisplayGridlines
If .DisplayGridlines = True Then .DisplayGridlines = False
Status_Headings = .DisplayHeadings
If .DisplayHeadings = True Then .DisplayHeadings = False
Status_WorkTabs = .DisplayWorkbookTabs
If .DisplayWorkbookTabs = True Then .DisplayWorkbookTabs = False
End With
With Application
Status_StatusBar = .DisplayStatusBar
If .DisplayStatusBar = True Then .DisplayStatusBar = False
Status_FormulaBar = .DisplayFormulaBar
If .DisplayFormulaBar = True Then .DisplayFormulaBar = False
'Menüleiste
.CommandBars(1).Enabled = False
End With
End Sub



Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Cdb As CommandBar
Dim Ci%
For Ci = 1 To Cn - 1
Application.CommandBars(CdbList(Ci)).Visible = True
Next Ci
With ActiveWindow
.DisplayHeadings = Status_Headings
.DisplayHorizontalScrollBar = Status_HorScroll
.DisplayVerticalScrollBar = Status_VerScroll
.DisplayGridlines = Status_Gridlines
.DisplayWorkbookTabs = Status_WorkTabs
End With
With Application
.DisplayStatusBar = Status_StatusBar
.DisplayFormulaBar = Status_FormulaBar
.CommandBars(1).Enabled = True
End With
End Sub


Bin um jede Hilfe dankbar,
Gruß, Benni.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: alles ausblenden
26.09.2007 14:46:00
Matthias
Hallo Benni,
nimm zum Wiedereinblenden nicht das BeforeClose-Ereignis, sondern Workbook_Deactivate().
Und zum Ausblenden statt Workbook_Open() dann Workbook_Activate().
Gruß Matthias

AW: alles ausblenden
26.09.2007 14:59:13
Benni
Hallo MAtthias,
klappt einwandfrei. Vielen Dank! Warum ist mir aber ein Rätsel :) was is denn der Unterschied zwischen den Open und Activate?
Gruß, Benni.

AW: alles ausblenden
26.09.2007 15:02:00
Matthias
Hallo Benni,
naja, wenn mann das Deactivate-Ereignis benutzt, wird es nicht nur beim Schließen ausgeführt, sondern beim jedem Deaktivieren der Mappe, also auch wenn eine andere Mappe geöffnet wird.
Und die BeforeClose-Methode wird auch dann ausgeführt, wenn man die anschließende Speicherabfrage mit Abbrechen ... abbricht.
Jedenfalls ist es mit Activate und Deactivate sauberer, weil dann auch andere Mappe noch funktionieren und ihre Symbolleisten behalten.
Gruß Matthias
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige