Microsoft Excel

Herbers Excel/VBA-Archiv

"Excel" ausblenden?

    Betrifft: "Excel" ausblenden? von: Benjamin
    Geschrieben am: 31.08.2003 11:27:56

    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

      


    Betrifft: AW: "Excel" ausblenden? von: Nepumuk
    Geschrieben am: 31.08.2003 11:47:21

    Hallo Benjamin,
    deine Fragestellung ist etwas unklar. Was soll genau ausgeblendet werden?
    Gruß
    Nepumuk


      


    Betrifft: AW: "Excel" ausblenden? von: Benjamin
    Geschrieben am: 31.08.2003 11:58:08

    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


      


    Betrifft: AW: "Excel" ausblenden? von: Nepumuk
    Geschrieben am: 31.08.2003 12:12:28

    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.


      


    Betrifft: AW: "Excel" ausblenden? von: Erich M.
    Geschrieben am: 31.08.2003 12:23:37

    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


      


    Betrifft: AW: "Excel" ausblenden? von: Nepumuk
    Geschrieben am: 31.08.2003 13:04:54

    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


      


    Betrifft: DANKE - Nepumuk - werds mal probieren!! o.T. von: Erich M.
    Geschrieben am: 31.08.2003 13:55:45

    .


      


    Betrifft: Danke Nepumuk von: Benjamin
    Geschrieben am: 31.08.2003 15:19:19

    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


      


    Betrifft: AW: "Excel" ausblenden? von: Benjamin
    Geschrieben am: 31.08.2003 12:49:49

    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


      


    Betrifft: AW: "Excel" ausblenden? von: schneebär
    Geschrieben am: 31.08.2003 12:56:16

    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


      


    Betrifft: AW: "Excel" ausblenden? von: Nepumuk
    Geschrieben am: 31.08.2003 13:16:25

    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


      


    Betrifft: Danke Nepomuk! o.T. Sabine von: Schneebär
    Geschrieben am: 31.08.2003 13:19:21




      


    Betrifft: AW: "Excel" ausblenden? von: Olaf
    Geschrieben am: 01.09.2003 14:14:56

    Hallo Nepumuk,

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

    Danke Olaf


      


    Betrifft: AW: "Excel" ausblenden? von: Nepumuk
    Geschrieben am: 01.09.2003 17:45:37

    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


      


    Betrifft: AW: "Excel" ausblenden? von: Hajo_Zi
    Geschrieben am: 31.08.2003 12:40:47

    Hallo Benjamin

    siehe Dir mal das folgende Beispiel an

    Beispieldatei

    Grußformel

    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.


      


    Betrifft: AW: "Excel" ausblenden? von: Benjamin
    Geschrieben am: 31.08.2003 12:54:17

    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


      


    Betrifft: AW: "Excel" ausblenden? von: Hajo_Zi
    Geschrieben am: 31.08.2003 12:57:25

    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
    


    Grußformel

    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.


      


    Betrifft: Danke Hajo von: Benjamin
    Geschrieben am: 31.08.2003 15:22:41

    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


      


    Betrifft: Danke für die Rückmeldung oT von: Hajo_Zi
    Geschrieben am: 31.08.2003 15:37:03




     

    Beiträge aus den Excel-Beispielen zum Thema " "Excel" ausblenden?"