Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
440to444
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
440to444
440to444
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ausblendung der Menüleisten nur in Hauptmappe

Ausblendung der Menüleisten nur in Hauptmappe
20.06.2004 21:39:13
Jens
Hallo Zusammen
Ich benutze zur Zeit folgenden Code um beim Öffnen eine Mappe, die als Oberfläche dient, alles auszublnden, Menüleisten usw..
Es handelt sich um eine Bedienungsoberfläche bei der man keine Menüs braucht.

Private Sub Workbook_Open()
Application.ScreenUpdating = False
'Befehl Menü aus
If Application.CommandBars("Worksheet Menu Bar").Enabled = True Then
Application.DisplayFullScreen = True
Application.CommandBars("Full Screen").Visible = False
With Application
.DisplayFormulaBar = False
.DisplayStatusBar = False
.CommandBars("Worksheet Menu Bar").Enabled = 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
Application.ScreenUpdating = True
End Sub

Wenn ich allerdings in dem ausgeblendeten Zustand eine andere Excelmappe öffne, sind ebenfalls alle Menüs ausgeblendet.
Wie kann ich erreichen, dass die Ausblendungen sich nur auf die Mappe Oberfläche beziehen und alle anderen Dateien normal hochgefahren werden.
Gruss Jens

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ausblendung der Menüleisten nur in Hauptmappe
20.06.2004 21:54:44
Ulf
Mal abgesehen davon, dass 2/3 des Codes überflüssig sind, sorg in
Private Sub Workbook_Deactivate()
dafür, dass alles wieder zur Verfügung steht.
Wenn wieder in die Mappe gewechselt wird, musst du in
Private Sub Workbook_Activate()
dafür sorgen, dass alles wieder ausgeschaltet wird.
Ulf
AW: Ausblendung der Menüleisten nur in Hauptmappe
20.06.2004 22:05:26
Jens
Hallo Ulf
Ich habe den Code nur zur Verfügung gestellt bekommen und bin auch nicht ganz so bewandert.
Könntest Du mir bitte genau erklären wie ich das machen muss, also wo und wie ich was an Codes unterbringen muss.
Danke Dir
Gruss Jens
AW: Ausblendung der Menüleisten nur in Hauptmappe
20.06.2004 22:14:55
Ulf
Der Mustercode von Annett ist als Grundlage gut geeignet, muss halt noch
etwas ergänzt werden.
Ulf
Anzeige
AW: Ausblendung der Menüleisten nur in Hauptmappe
20.06.2004 22:28:57
Annett
Hallo Ulf
Wie Bitte!!
Gruß Annett
AW: Ausblendung der Menüleisten nur in Hauptmappe
20.06.2004 22:34:06
Jens
Hallo Ihr zwei Beiden
Bevor ihr euch gleich streitet ;-), Könntet ihr mir noch mal genau aufzeigen wo ich nun was eintragen muss damit das so funktioniert, wie ich das vor habe. Und was muss bei meinem Code entfernt werden. Wie schon erwähnt. Habe den Code bekommen, bin da nicht so fitt.
Gruss Jens
AW: Ausblendung der Menüleisten nur in Hauptmappe
20.06.2004 22:42:15
Annett
Hallo Jens
Du hast meinen Link schon ausgeführt??
Ersetze Deinen Code durch den vorgeschlagenen. Vor jedem, Codeteil steht wohin.
Gruß Annett
Hochgeladene Dateien verbleiben für einen Zeitraum von ca. 1 Monat auf dem Server
Anzeige
AW: Ausblendung der Menüleisten nur in Hauptmappe
20.06.2004 22:54:06
Jens
Hallo Annett
Ich kann mit Deinem Link keine Datei hochladen. Ich lande nur auf einer neuen Internetseite. Da stehen zwar die Codes drin, aber für mich etwas zu verwirrend.
Vielleicht kann ich mal eine richtige Beispieldatei hochladen.
Gruss jens
AW: Ausblendung der Menüleisten nur in Hauptmappe
20.06.2004 23:10:22
Annett
Hallo Jens
ich lade Dateien aus Prinzip nicht hoch.
Gruß Annett
AW: Ausblendung der Menüleisten nur in Hauptmappe
21.06.2004 05:40:58
andre
Hallo Annett,
nur zur Info - die Dateien bleiben bis zur Rente (von wem auch immer) ;-)
AW: Ausblendung der Menüleisten nur in Hauptmappe
21.06.2004 09:47:33
Annett
Hallo Andre
auf dem Server vom Forum mag das schon sein aber nicht auf meinem. Ob die Dateien von der Forumssoftware an einer anderen Stelle abgelegt werden ist mir nicht bekannt. Es war ja nur ein Link zur Datei auf meinem Server (HP)
Gruß Annett
Anzeige
AW: Ausblendung der Menüleisten nur in Hauptmappe
20.06.2004 22:03:21
Annett
Hallo Jens
ein Beispielcode
Mustercode
In der Tabelle ist ein CommandButton für das schließen der Datei.
Gruß Annett
AW: Ausblendung der Menüleisten nur in Hauptmappe
21.06.2004 07:42:34
Angie
Hallo Jens,
mit diesem Code lässt man alles verschwinden:

Private Sub Workbook_Activate()
If Application.CommandBars("Worksheet Menu Bar").Enabled = True Then
Application.DisplayFullScreen = Not Application.DisplayFullScreen
Application.CommandBars("Full Screen").Enabled = Not Application.CommandBars("Full Screen").Enabled
Application.CommandBars("Worksheet Menu Bar").Enabled = Not Application.CommandBars("Worksheet Menu Bar").Enabled
ActiveWindow.DisplayHeadings = False
End If
End Sub

muss aber wie schon die anderen sagten entsprechend dann in

Private Sub Workbook_Deactivate()
If Application.CommandBars("Worksheet Menu Bar").Enabled = False Then
Application.DisplayFullScreen = Not Application.DisplayFullScreen
Application.CommandBars("Full Screen").Enabled = Not Application.CommandBars("Full Screen").Enabled
Application.CommandBars("Worksheet Menu Bar").Enabled = Not Application.CommandBars("Worksheet Menu Bar").Enabled
ActiveWindow.DisplayHeadings = True
End If
End Sub

auch deaktiviert werden.
Gruß
Angie
Anzeige
AW: Ausblendung der Menüleisten nur in Hauptmappe
21.06.2004 11:00:09
Jens
Hallo Angie
Vielen Dank für den schnellen und unkomplizierten Code. Damit konnte ich schon was bauen.
Eine Frage aber noch.
Wenn ich jetzt meine Öberfläche öffne, werden wie es gewünscht ist alle Leisten usw. ausgeblendet.
Öffne ich jetzt eine andere Mappe, endweder aus der Oberfläche über Schaltflächen oder aus dem Explorer werden die ganzen Leisten wieder eingeblendet. Ist soweit auch ganz toll.
Schliesse ich allerdings wieder die zweite geöffnete Datei und es erscheint wieder die Oberfläche, bleiben die Leisten erhalten.
Wie kann ich erreichen, dass die Menüleisten wirklich nur bei der Oberfläche ausgeblendet werden und auch bleiben und nur bei den anderen Dateien diese eingeblendet und nach dem Schliessen dieser Dateien wieder ausgeblendet werden.
Ich hoffe ich habe mich verständlich ausdrücken können.
Gruss Jens
(PS. So ein netten und vor allem schönes Foto von mir kann ich leider nicht zur Verfügung stellen.)
Anzeige
AW: Ausblendung der Menüleisten nur in Hauptmappe
21.06.2004 12:28:44
Angie
Hallo Jens,
kannst ja das mal versuchen:

Private Sub Workbook_open()
With Application
.ScreenUpdating = False
.CommandBars("toolbar list").Enabled = False
.CommandBars("Worksheet Menu Bar").Enabled = False
.CommandBars("Cell").Enabled = False
.DisplayFormulaBar = True
.DisplayStatusBar = True
.DisplayFullScreen = True
End With
With ActiveWindow
.DisplayHorizontalScrollBar = False
.DisplayVerticalScrollBar = False
.DisplayWorkbookTabs = False
.DisplayHeadings = False
.WindowState = xlMaximized
End With
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Application
.ScreenUpdating = False
.CommandBars("toolbar list").Enabled = True
.CommandBars("Worksheet Menu Bar").Enabled = True
.CommandBars("Cell").Enabled = True
.DisplayFormulaBar = False
.DisplayStatusBar = False
.DisplayFullScreen = False
End With
With ActiveWindow
.DisplayHorizontalScrollBar = True
.DisplayVerticalScrollBar = True
.DisplayWorkbookTabs = True
.DisplayHeadings = True
.WindowState = xlMaximized
End With
End Sub

das gleich schreibst du dann entsprechend noch in

Private Sub Workbook_Activate()
End Sub

und in

Private Sub Workbook_Deactivate()
End Sub

Dann sollte eigentlich alles gut funktionieren. Kannst ja dein
Muster mal als Probe hochbiehmen.
Gruß Angie
Anzeige
AW: Ausblendung der Menüleisten nur in Hauptmappe
22.06.2004 08:02:45
Jens
Hallo Angie
Funktioniert leider immer noch nicht. Schliesse ich die zweite Datei wieder, bleiben die Menüleisten bei der Oberfläche weiterhin erhalten.
Leider kann ich Dir die Oberfläche nicht zur Verfügung stellen, da dier zu viele Userinformationen hinterlegt sind. Die Oberfläche ist nämlich Usergesteuert, was heissen soll, dass je nach angemeldeten User nur bestimmte Schaltflächen aufgeschaltet werden. Hinter den Schaltflächen befinden sich dann Firmeninterne Pfade.
Könntest Du mir eventuell eine kleine Datei basteln wo das funktioniert mit den ein und ausblenden.
Ich hatte mir eine Mappe gebastelt in die genau Deine Codes eingefügt wurden. Beim Öffnen der Mappe zuckt das Bild nur mal kurz und das wars.
Würde mich sehr freuen wenn Du Dir die Mühe machen könntest.
Gruss Jens
Anzeige
Ausblendung Menüleisten in Hauptmappe sonst nicht?
22.06.2004 08:27:26
Angie
Hallo Jens,
sag bitte noch einmal, was genau nicht funktioniert. Hast du das mit beiden
Beispielen versucht?
Was deine Usernutzung angeht, das interessiert mich sehr. Ich suche
noch was, wo jeder Nutzer nur in einem Bestimmten Bereich eintragen
kann, sodann nichts anderes passieren kann. Hast du so etwas bei dir
enthalten? Mit User meine ich einen angemeldeten User per Netzwerk,
du aber sicher auch oder?
Gruß Angie
Noch ne kleine Idee - vielleicht hilfts
22.06.2004 10:08:44
Angie
Hallo Jens,
mir ist noch was eingefallen. Was passiert wenn du :

Private Sub Workbook_Activate()
Call Workbook_Open
End Sub


Private Sub Workbook_Deactivate()
Call  Workbook_Close
End Sub

eingibst? Weht das nicht für deine Sache?
Gruß Angie
Anzeige
AW: Noch ne kleine Idee - vielleicht hilfts
22.06.2004 11:20:27
Jens
Hallo Angie
Ich versuch es noch mal ganz genau zu beschreiben.
Diese beiden Codes habe ich in die Mappe Oberfläche unter "Diese Arbeitsmappe" eingefügt.

Private Sub Workbook_Activate()
If Application.CommandBars("Worksheet Menu Bar").Enabled = True Then
Application.DisplayFullScreen = Not Application.DisplayFullScreen
Application.CommandBars("Full Screen").Enabled = Not Application.CommandBars("Full Screen").Enabled
Application.CommandBars("Worksheet Menu Bar").Enabled = Not Application.CommandBars("Worksheet Menu Bar").Enabled
ActiveWindow.DisplayHeadings = False
End If
End Sub


Private Sub Workbook_Deactivate()
If Application.CommandBars("Worksheet Menu Bar").Enabled = False Then
Application.DisplayFullScreen = Not Application.DisplayFullScreen
Application.CommandBars("Full Screen").Enabled = Not Application.CommandBars("Full Screen").Enabled
Application.CommandBars("Worksheet Menu Bar").Enabled = Not Application.CommandBars("Worksheet Menu Bar").Enabled
ActiveWindow.DisplayHeadings = True
End If
End Sub

Einen änlichen Code hatte ich auch, nur hatte ich diesen unter

Private Sub Workbook_Open() eingefügt. Er lautete komplett:

Private Sub Workbook_Open()
'Abschaltung der Bildschirmaktualisierung (verhindert flackern bei Eintragungen)
Application.ScreenUpdating = False
'Befehl Menü aus
If Application.CommandBars("Worksheet Menu Bar").Enabled = True Then
Application.DisplayFullScreen = True
Application.CommandBars("Full Screen").Visible = False
With Application
.ScreenUpdating = False
.CommandBars("toolbar list").Enabled = False
.CommandBars("Worksheet Menu Bar").Enabled = False
.CommandBars("Cell").Enabled = False
.DisplayFormulaBar = True
.DisplayStatusBar = True
.DisplayFullScreen = True
End With
With ActiveWindow
.DisplayHorizontalScrollBar = False
.DisplayVerticalScrollBar = False
.DisplayWorkbookTabs = False
.DisplayHeadings = False
.WindowState = xlMaximized
End With
End If
''Bildschirmaktualisierung wieder zuschalten
Application.ScreenUpdating = True
End Sub

Also hatte ich die Ausblendung aller Menüs schon erreicht.
Mit Deinem Code funkioniert das auch und ich bekommen zusätzlich beim Öffnen einer anderen Exceldatei die Menüleisten automatisch wieder eingeblendet. Das ist alles hervorragend.
Mein jetziges Problem ist, dass wenn ich die Oberfläche im Hintergrund habe und ich entweder von der Oberfläche aus oder über den Explorer eine neue Exceldatei öffne, bekomm ich ja alle Menüleisten wieder eingeblendet. Schliesse ich die Exceldatei wieder, bekomm ich ja die Oberfläche wieder zu sehen, da diese ja im Hintergrund offen blieb.
Die Menüleisten bleiben dann in der Oberfläche weiterhin eingeblendet. Das soll so aber nicht sein.
Ich möchte also das die Menüleisten beim Schliessen einer anderen Datei wieder ausgeblendet werden.
Hoffentlich wars jetzt verständlich.
Bezüglich der User Anfrage von Dir folgendes.
Ich benutze die User Abfrage für die Einblendung festgelegter Schaltflächen, Das heißt: Es wird im Netzwerk der angemeldete User abgefragt und dann über einen Call Befehl nur seine Schaltflächen eingeblendet. So können viele User die Oberfläche benutzen, bekommen aber nur das aufgeschaltet wo für sie Zugriff haben dürfen. Ich benutze das auch für automatische Einträge die sich auf den angemeldeten User beziehen.
Erledigt wird das über folgenden Code:
in "Diese Arbeitsmappe"
Option Explicit
'Anweisung für die Benutzerabfrage
Private Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Private Sub Workbook_Open()
'Jetzt die Befehle für das automatisch Einfügen von Kürzel und vollem Namen etc.
'Anweisung für das Erstellen und Nutzen von verschiedenen String und MsgBox Abfragen
' String erstellen
Dim strBenutzer As String
' String erstellen
Dim strInitial As String
'  Zuweisung für das Abfragen nach dem Anmelde Namen
strBenutzer = UCase(Environ("username"))
'Abschaltung der Bildschirmaktualisierung (verhindert flackern bei Eintragungen)
Application.ScreenUpdating = False
'Jetzt müssen unter (Case "Anwendername")die im Netz wirklich benutzten Anmelde Namen
'eingegeben werden.
'Danach muß unter(strInitialen = "Kürzel")das gewünschte Kürzel für den Benutzer hinterlegt
'hinterlegt werden.
'Zum Schluß muß noch unter (strVollerName = "Voller Name")der vollen Name hinterlegt
'werden, der dann unter (angemeldet ist, etc.) erscheint.
'Case Else (als Letztes) steht für Eintrag, wenn der Benutzer nicht bekannt ist. Es
'erscheint dann das Kürzel "fü" nicht registr. Nutzer.
Select Case strBenutzer
'VKD Süd
Case "JENS"
strInitialen = "jt"
strVollerName = "Test, Jens"
strPersNr = "1234"
strAbteilung = "0000 Abt 0000"
Call JENS_alles_einblenden 'bezieht sich auf Modul "Z_Einblendung_Abt_u_Pers_bezogen"
Case "ANGI"
strInitialen = "at"
strVollerName = "Test, Angi"
strPersNr = "0000"
strAbteilung = "0000 Abt 0000"
Call Angi_alles_einblenden 'bezieht sich auf Modul "Z_Einblendung_Abt_u_Pers_bezogen"
'Eintrag "fü" für "nicht registr. Nutzer" falls Name nicht bekannt.
Case Else
strInitialen = "fü"
strVollerName = "nicht registr. Nutzer"
strPersNr = "0000"
strAbteilung = "Abteilung unbekannt"
strSpalte2Pos1 = ""
strSpalte2Pos2 = ""
strSpalte2Pos3 = ""
strSpalte3Pos2 = ""
strSpalte5Pos1 = ""
End Select
'Aktiviert die gewünschte Zelle für Namens- und Spalteneinträge
Worksheets(1).Cells(3, 3).Formula = strAbteilung    'Eintr. Spalt.Bez.in Zelle L4
'Bildschirmaktualisierung wieder zuschalten
Application.ScreenUpdating = True
End Sub


In ein allgemeines Modul musst Du dann noch die Publicbefehle eingeben wie z.B..
Option Explicit
'Allgemeine Eintragungen
'Befehl für die autom. Einfügung der Abteilung
Public strAbteilung As String

Vielleicht kannst Du damit was anfangen.
Aber jetzt müssen wir uns erst mal um meine Menüleisten kümmern.
Gruss Jens
PS. Deine 2. Idee funzt nicht
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige