Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
584to588
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
584to588
584to588
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Symbolleisten verschollen

Symbolleisten verschollen
18.03.2005 19:58:48
Reinhard
Hallo Wissende,
bei erstmaligem Dateistart speichere ich den Zustand aller CommandBars in Zelle
A5 ab. Dies geschieht mit der Sub "Symbol"
In einer UF kann man dann 2 Optionsbuttons auswählen, jenachdem wird zelle A7
auf 0 oder 1 gesetzt und die Sub "Symbole" aufgerufen
Ganzer Bildschirm bzw displayfullscreen möchte ich nihct benutzen.
Zwei Fragen dazu:
1--wie blende ich noch die Titelzeile aus?
2--nach mehrmaligen Aufruf von "Symbole" mit A7 = 1 bzw 0 sind unter
Ansicht---Symbolleisten nur noch 3 Möglichkeiten sichtbar, Formular, Standard,
Anpassen. Wie kann ich vermeiden dass die anderen Leistenmöglichkeiten
verschwinden?
Sub Symbol()
Dim Wert As String
Set wsE = Worksheets("Einstellungen")
If wsE.Range("A5") = "" Then
For Each s In CommandBars
If s.Visible = True Then
Wert = Wert & "1"
Else
Wert = Wert & "0"
End If
Next s
End If
wsE.Range("A5") = Wert
Set wsE = Nothing
End Sub
Sub Symbole()
On Error Resume Next
Set wsE = Worksheets("Einstellungen")
If wsE.Range("A7") = 1 Then
'Application.DisplayFullScreen = False
Application.DisplayStatusBar = True
Application.DisplayFormulaBar = True
Application.CommandBars("Worksheet Menu Bar").Enabled = True
ActiveWindow.DisplayWorkbookTabs = True
Application.DisplayScrollBars = True
UserForm1.OptionButton3 = True
For Each s In Application.CommandBars
n = n + 1
If Mid(wsE.Range("A5"), n, 1) = "1" Then
s.Enabled = True
Else
s.Enabled = False
End If
Next s
Else
'Application.DisplayFullScreen = True
Application.CommandBars("Worksheet Menu Bar").Enabled = False
Application.DisplayStatusBar = False
Application.DisplayFormulaBar = False
ActiveWindow.DisplayWorkbookTabs = False
Application.DisplayScrollBars = False
UserForm1.OptionButton4 = True
For Each s In Application.CommandBars
s.Enabled = False
Next s
End If
Set wsE = Nothing
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Symbolleisten verschollen
18.03.2005 20:34:48
ransi
hallo reinhard
Ich verstehe den code und deine fragestellung nicht.
welche symbolleiste soll wann ausgeblendet werden?
welche symbolleiste soll wann wieder eingeblendet werden?
ransi
AW: Symbolleisten verschollen
18.03.2005 20:56:27
Reinhard
Hallo ransi,
wenn ich auf Ansicht---Symbolleisten gehe, kann ich unter vielen Symboleisten wählen, nach Ausführung meines Codes nur noch unter Standard und Formular, sowie dem Menü Anpassen.
Was ich möchte ist, Ausblenden aller möglicherweise eingeblendeten Symbolleisten, unten darf nur noch die Taskleiste von Windows sichtbar bleiben und oben will ich dann noch eine eigene Symbolleiste erstellen, in der man Excel beenden, UFs starten usw kann.
Da dies auch auf fremden Rechnern geschehen soll, möchte ich dort den Ist-Zustand der Symbolleisten beim Dateiöffnen abspeichern um ihn dann mittels Button in einer UF wiederherstellen zu können, bzw. beim Workbook-Close-Ereignis.
Viele Grüße
Reinhard
Anzeige
AW: Symbolleisten verschollen
18.03.2005 21:10:22
ransi
hallo reinhard
so bekommst du ein nacktes Blatt:

Private Sub Worksheet_Activate()
Dim cb As CommandBar
For Each cb In Application.CommandBars
cb.Enabled = False
Next
DoEvents
With ActiveWindow
.DisplayHeadings = False
.DisplayOutline = False
.DisplayZeros = False
.DisplayHorizontalScrollBar = False
.DisplayVerticalScrollBar = False
.DisplayWorkbookTabs = False
End With
With Application
.DisplayFormulaBar = False
.DisplayStatusBar = False
End With
End Sub

im worksheet_deactivate must du alles wieder auf true setzen, weil die einstellungen mit den commandbars greifen in der gesamten excelsitzung.
hoffe das hast du gesucht.
ransi
Anzeige
Danke dir, aber m.T.
18.03.2005 21:52:46
Reinhard
Hallo ransi,
ich habe es jetzt nur kurz getestet und noch nicht überprüft, wenn ich alles wieder sichtbar mache ob da auch unter Ansicht---Symboleisten einiges fehlt, okay, mache ich nachher, danke erstmal.
Aber die Titelleiste ist noch vorhanden, wie kriege ich die weg?
Google bracht mich da nicht weiter, da fand ich nur application.caption="", aber ich will die Zeile weghaben.
Gruß
Reinhard
AW: zu Frage 1
18.03.2005 21:10:52
Nepumuk
Hallo Reinhard,
das geht ganz einfach:


Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
    (ByVal lpClassName As StringByVal lpWindowName As StringAs Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
    (ByVal hwnd As LongByVal nIndex As LongAs Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
    (ByVal hwnd As LongByVal nIndex As LongByVal dwNewLong As LongAs Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As LongAs Long
Private Enum constats
    GWL_STYLE = -16
    WS_CAPTION = &HC00000
End Enum
Public Sub test()
    Static bolCaption As Boolean
    Dim lnghWnd As Long, lngStyle As Long
    lnghWnd = FindWindow("XLMAIN", vbNullString)
    If lnghWnd <> 0 Then
        lngStyle = GetWindowLong(lnghWnd, GWL_STYLE)
        If bolCaption Then
            lngStyle = lngStyle Or WS_CAPTION
        Else
            lngStyle = lngStyle And Not WS_CAPTION
        End If
        SetWindowLong lnghWnd, GWL_STYLE, lngStyle
        DrawMenuBar lnghWnd
        bolCaption = Not bolCaption
    End If
End Sub


Gruß
Nepumuk
Anzeige
aha, Titelleiste ist nun weg *freu*
18.03.2005 22:01:01
Reinhard
Hallo Nepumuk,
"das geht ganz einfach" definiere ich aber anders :-)))
Klappt natürlich super.
Merci
Reinhard
Bearbeitungsleiste und excel.xlb
18.03.2005 22:41:03
Reinhard
Hallo Nepumuk,
ich habe jetzt deine Codes und den von ransi laufen lassen.
Anschliessend schaltete ich Excel aus und löschte die Excel.xlb in der Annahme dass dadurch wieder die gewohnte Grundeinstellung dawäre.
Aber die Bearbeitungsleiste fehlte, ich musste sie manuell wieder sichtbar machen.
Wie kann ich sie per Code sichtbar machen? Und warum wird sie von Excel nicht bei fehlender excel.xlb selbst angezeigt?
Viele Grüße
Reinhard
AW: Bearbeitungsleiste und excel.xlb
18.03.2005 22:59:01
Nepumuk
Hallo Reinhard,
die Bearbeitungsleist ist keine Symbolleiste und nur deren benutzerdefinierten Änderungen werden in der .xlb gespeichert. Mein Code blendet die Leiste bein schließen der Mappe aber wieder ein. Einfach diese Zeilen in das Klassenmodul der Mappe:


Option Explicit
Private Sub Workbook_Activate()
    test
End Sub
Private Sub Workbook_Deactivate()
    test
End Sub


Gruß
Nepumuk
Anzeige
AW: zu Frage 2
18.03.2005 21:20:54
Nepumuk
Hallo Reinhard,
würde ich so machen:


Option Explicit
Public Sub test()
    Static bolOnOff As Boolean
    Dim myCommandBar As CommandBar
    With Application
        .ScreenUpdating = False
        .DisplayStatusBar = bolOnOff
        .DisplayFormulaBar = bolOnOff
    End With
    On Error Resume Next
    For Each myCommandBar In Application.CommandBars
        myCommandBar.Enabled = bolOnOff
    Next
    CommandBars("eigene Leiste").Enabled = Not bolOnOff
    ActiveWindow.DisplayWorkbookTabs = bolOnOff
    bolOnOff = Not bolOnOff
    Application.ScreenUpdating = True
End Sub


Gruß
Nepumuk
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige