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

"Excel" ausblenden?

"Excel" ausblenden?
31.08.2003 11:27:56
Benjamin
Hallo Forum,

ich bin VBA-Anfänger und möchte mich mit einem Problem an euch wenden.

Ich habe ein eigenes Menü erstellt und möchte "Excel" ausblenden, weil damit das Menü ausgeblendet werden kann.

Gib es eine Möglichkeit in VBA, das zu umgehen?

Wenn möglich, euren Tip mit VBA-Code versehen (bin halt noch Anfänger).

Vielen Dank, Benjamin

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

Betreff
Datum
Anwender
Anzeige
AW: "Excel" ausblenden?
31.08.2003 11:47:21
Nepumuk
Hallo Benjamin,
deine Fragestellung ist etwas unklar. Was soll genau ausgeblendet werden?
Gruß
Nepumuk
AW: "Excel" ausblenden?
31.08.2003 11:58:08
Benjamin
Hallo Nepumuk,

in meiner Menüleiste wird ein Excel-Symbol mit den Auswahlmöglichkeiten "Wiederherstellen, Minimieren und Schließen" angezeigt.

Über das Symbol und den Auswahlpunkt "Schließen" ist es möglich, meine Tabelle zu beenden und das möchte ich verhindern!

Hast Du eine Idee dazu?

Gruß Benjamin
AW: "Excel" ausblenden?
31.08.2003 12:12:28
Nepumuk
Hallo Benjamin,
folgenden Code in das Klassenmodul "DieseArbeitsmappe":

Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Show_SYSMENU
End Sub
Private Sub Workbook_Open()
Hide_SYSMENU
End Sub



folgenden Code in ein normales Modul:

Option Explicit
Public Const GWL_STYLE = (-16)
Public Const WS_SYSMENU = &H80000
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Public Sub Hide_SYSMENU()
Dim xl_hwnd, lStyle
xl_hwnd = FindWindow("xlMain", vbNullString)
If xl_hwnd <> 0 Then
lStyle = GetWindowLong(xl_hwnd, GWL_STYLE)
lStyle = SetWindowLong(xl_hwnd, GWL_STYLE, lStyle And Not WS_SYSMENU)
DrawMenuBar xl_hwnd
End If
End Sub
Public Sub Show_SYSMENU()
Dim xl_hwnd, lStyle
xl_hwnd = FindWindow("xlMain", vbNullString)
If xl_hwnd <> 0 Then
lStyle = GetWindowLong(xl_hwnd, GWL_STYLE)
lStyle = SetWindowLong(xl_hwnd, GWL_STYLE, lStyle Or WS_SYSMENU)
DrawMenuBar xl_hwnd
End If
End Sub



Code eingefügt mit: Excel Code Jeanie

Gruß
Nepumuk
P.S. Aber dann kann Excel immer noch über das Fenster in der Taskleiste geschlossen werden! Das könnte auch deaktiviert werden.
Anzeige
AW: "Excel" ausblenden?
31.08.2003 12:23:37
Erich M.
Hallo Nepumuk,

habe den Code eingebaut, da ich ein ähnliches Problem habe.
Funktioniert natürlich bestens!
Die Deaktivierung der Task-leiste wäre jetzt wohl
das i-Tüpfelchen!

Besten Dank falls Du Dir die Mühe machst.
Vielleicht kann Benjamin ihn auch brauchen.

mfg
Erich
AW: "Excel" ausblenden?
31.08.2003 13:04:54
Nepumuk
Hallo Benjamin und Erich,
ich habe mal eine Mappe von mir, bei der alles deaktiviert ist, hochgeladen.
https://www.herber.de/bbs/user/797.zip
Gruß
Nepumuk
DANKE - Nepumuk - werds mal probieren!! o.T.
31.08.2003 13:55:45
Erich M.
.
Danke Nepumuk
31.08.2003 15:19:19
Benjamin
Hallo Nepumuk,

danke für Deine Mühe!

Damit komme wohl genau dahin, wohin ich möchte!

Danke und einen schönen Sonntag!

Gruss Benjamin
Anzeige
AW: "Excel" ausblenden?
31.08.2003 12:49:49
Benjamin
Hallo Nepumuk,

ich habe den Code eingebaut und das funktioniert ausgezeichnet.
In der Leiste oberhalb der normalen Excel-Menüleisten wird alles ausgeblendet.

Leider ist mein Problem damit noch nicht ganz gelöst...

Beim Aufruf meiner Tabelle werden die normalen Excel-Menüs ausgeblendet und meine selbst erstellte Menüleiste eingeblendet und genau dort wird das Excel-Symbol mit den Auswahlmöglichkeiten "Wiederherstellen, Minimieren und Schließen" weiter angezeigt.

Was kann getan werden, um das Excel-Symbol auch dort auszublenden?

Gruß Benjamin
Anzeige
AW: "Excel" ausblenden?
31.08.2003 12:56:16
schneebär
Hallo Nepomuk,
sorry, wenn ich mich hier reindränge.
Wo kann ich mehr über die Lib "user32" und "kernel" erfahren um diese für mich nutzbar zu machen.

einen schönen Sonntag !

Sabine
AW: "Excel" ausblenden?
31.08.2003 13:16:25
Nepumuk
Hallo Sabine,
lade dir den API-Guide herunter der hift schon ganz gut. Die Beispiele darin sind allerdings für VB geschrieben und müssen noch auf VBA angepasst werden.

http://www.mentalis.org/agnet/apiguide.shtml

weitere Adressen:

http://www.activevb.de/rubriken/apikatalog/index-apikatalog.html

http://www.vbapihelpline.de/index2.php4

http://www.vb-fun.de/vb/index.htm

http://www.vbarchiv.net/vbapi/_all.php

Gruß
Nepumuk
Anzeige
Danke Nepomuk! o.T. Sabine
31.08.2003 13:19:21
Schneebär
AW: "Excel" ausblenden?
01.09.2003 14:14:56
Olaf
Hallo Nepumuk,

ich würde gern dein Code bei mir einbauen, kannst Du mir den Weg beschreiben, wie ich vorgehen sollte.

Danke Olaf
AW: "Excel" ausblenden?
01.09.2003 17:45:37
Nepumuk
Hallo Benjamin,
zum Klassenmodul "DieseArbeitsmappe" kommst du, wenn du auf das Excelicon in der Menüleiste einen Rechtsklick machst und Code anzeigen auswählst. In das sich öffnende Fenster den ersten Teil des Codes kopieren. Dann auf Einfügen klicken und Modul auswählen. In das sich neu öffnende Fester den zweiten Teil des Codes kopieren. Fenster schließen, Excel speichern, schließen und wider öffnen. Das war's.
Gruß
Nepumuk
AW: "Excel" ausblenden?
31.08.2003 12:40:47
Hajo_Zi
Hallo Benjamin

siehe Dir mal das folgende Beispiel an

Beispieldatei

Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.

Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen.
Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.
Anzeige
AW: "Excel" ausblenden?
31.08.2003 12:54:17
Benjamin
Hallo Hajo,

ein beindruckendes Beispiel!

Leider trifft das nicht ganz für mich zu, ich benötige meine selbst erstellte Menüleiste, aber eben ohne das Excel-Symbol!

Danke Benjamin
AW: "Excel" ausblenden?
31.08.2003 12:57:25
Hajo_Zi
Hallo Benjamin

wo ist das Problem

Option Explicit
' erstellt von Hajo.Ziplies@web.de

Private Sub Workbook_Open()
'   erstellt von Hajo.Ziplies@web.de 29.08.03
' http://home.media-n.de/ziplies/
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 = Not ActiveWindow.DisplayHeadings
Dim cb As CommandBar
Dim CBC As CommandBarButton
Dim I%
On Error Resume Next
Set cb = Application.CommandBars.Add(Name:="PreislisteO", _
temporary:=True, Position:=msoBarTop)
' Oben      Position:=msoBarTop
' Rechts    Position:=msoBarRight
' Links     Position:=msomsoBarLeft
' unten     Position:=msoBarBottom
On Error GoTo 0
If Application.CommandBars("PreislisteO").Visible = False Then '
cb.Visible = True
' cb.Left = 10
' cb.Top = 150
For I = 1 To 15
Set CBC = cb.Controls.Add(Type:=msoControlButton)
With CBC
.Width = 50                 ' Breite der Schalter
' .Style = msoButtonCaption   ' Text auf Schaltfläche ohne Icon
.Style = msoButtonIconAndCaption    ' Text und Icon
'                 Text Waagerecht für Links und Rechts
'                .Style = msoButtonWrapCaption
Select Case I
Case 1
.FaceId = 67    ' Icon vor Beschriftung
.Caption = "IRB"
.OnAction = "Roboter"
.TooltipText = "Roboter einfügen"
Case 2
.Caption = "Ent."
.OnAction = "Entlader"
.TooltipText = "Entlader einfügen"
Case 3
.Caption = "LPM"
.OnAction = "LPM"
.TooltipText = "LPM einfügen"
Case 4
.Caption = "Bel."
.OnAction = "Belader"
.TooltipText = "Belader einfügen"
Case 5
.Caption = "PTS"
.OnAction = "PTS"
.TooltipText = "PTS Einfügen"
Case 6
.BeginGroup = True  'neue Gruppe Hinweis Christoph Dümmen
.Caption = "KTS"
.OnAction = "Gebindetransport"
.TooltipText = "Gebindetransport einfügen"
Case 7
.Caption = "S.S."
.OnAction = "SS"
.TooltipText = "Schalt- und Steuerausrüstung einfügen"
Case 8
.Caption = "Aus."
.OnAction = "Auspacker"
.TooltipText = "Auspacker einfügen"
Case 9
.Caption = "Ein."
.OnAction = "Einpacker"
.TooltipText = "Einpacker einfügen"
Case 10
.Caption = "ET60.1"
.OnAction = "ET601"
.TooltipText = "ET 60.1 einfügen"
Case 11
.Caption = "ET 85"
.OnAction = "ET85"
.TooltipText = "ET 85 einfügen"
'                       Schalter nicht ausführbar
.Enabled = False
Case 12
.Caption = "Kopfpa."
.OnAction = "Kopfpalette"
.TooltipText = "Kopfpalettenaufleger einfügen"
Case 13
.Caption = "NGA"
.OnAction = "NGA"
.TooltipText = "Neuglasabheber einfügen"
Case 14
.Caption = "NGS"
.OnAction = "NGS"
.TooltipText = "Neuglasabschieber einfügen"
Case 15
.Caption = "Zu."
.OnAction = "Zukauf"
.TooltipText = "Zukauf einfügen"
End Select
End With
Next I
End If
End Sub



Private Sub Workbook_BeforeClose(Cancel As Boolean)
'   erstellt von Hajo.Ziplies@web.de 29.08.03
' http://home.media-n.de/ziplies/
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 = Not ActiveWindow.DisplayHeadings
On Error Resume Next
Application.CommandBars("PreislisteO").Delete
End Sub


Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.
Anzeige
Danke Hajo
31.08.2003 15:22:41
Benjamin
Hallo Hajo_Zi,

danke für den Code.

Wenn man das so vorgesetzt bekommt, ist das natürlich auch für einen VBA-Anfänger kein so grosses Problem mehr (brauche ich ja nur noch für meine Belange anpassen)!

Danke und einen schönen Sonntag!

Gruss Benjamin
Danke für die Rückmeldung oT
31.08.2003 15:37:03
Hajo_Zi

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige