Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excelsymbol aus Menüleiste entfernen

Forumthread: Excelsymbol aus Menüleiste entfernen

Excelsymbol aus Menüleiste entfernen
15.03.2006 19:09:51
Torsten
Hallo,
kann mir bitte jemand einen vba code nennen, mit dem ich das Excel - Symbol aus der Menüleiste (also das untere von den beiden Symbolen) entfernen (oder ggf. ersetzen) kann?
Vielen Dank
Torsten
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excelsymbol aus Menüleiste entfernen
15.03.2006 19:48:53
Nepumuk
Hallo Thorsten,
ersetzen durch ein anderes ist kein Problem:
Option Explicit

Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" ( _
    ByVal hInst As Long, _
    ByVal lpszExeFileName As String, _
    ByVal nIconIndex As Long) As Long
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" ( _
    ByVal hwnd As Long, _
    ByVal wMsg As Long, _
    ByVal wParam As Integer, _
    ByVal lParam As Long) As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" ( _
    ByVal lpClassName As String, _
    ByVal lpWindowName As String) As Long

Private Const WM_SETICON As Long = &H80
Private Const GC_CLASSNAMEMSEXCEL = "XLMAIN"

Private Sub prcSetXLWindowIcon(Optional strIconFile As String)
    Dim lnghWnd As Long, lngIcon As Long
    lnghWnd = FindWindow(GC_CLASSNAMEMSEXCEL, Application.Caption)
    If lnghWnd <> 0 Then
        If strIconFile = vbNullString Then
            lngIcon = 0
        Else
            lngIcon = ExtractIcon(0, strIconFile, 0)
            If lngIcon <= 1 Then lngIcon = 0
        End If
        SendMessage lnghWnd, WM_SETICON, False, lngIcon
        SendMessage lnghWnd, WM_SETICON, True, lngIcon
    End If
End Sub

Public Sub prcReset()
    Call prcSetXLWindowIcon
End Sub

Public Sub prcSet()
    Call prcSetXLWindowIcon _
        ("C:\Programme\Microsoft Office\Office\forms\1031\APPTL.ICO")
End Sub

Gruß
Nepumuk

Anzeige
AW: Excelsymbol aus Menüleiste entfernen
15.03.2006 20:02:43
Leo
Hi,
ich glaube, das hast du falsch interpretiert.
mfg Leo
AW: Excelsymbol aus Menüleiste entfernen
15.03.2006 20:01:32
Leo
Hi,
das ist kein Icon sondern eine Commandbar. Die kannst du nur disablen, nicht unsichtbar machen und auch nicht löschen. Workaround, eine eigene Symbolleiste erstellen und die Menüleiste nachbauen. Es darf aber keine Menüleiste sein, also Menubar:=False
Die originale Menüleiste enabled = False
mfg Leo
Anzeige
AW: Excelsymbol aus Menüleiste entfernen
15.03.2006 20:04:04
Nepumuk
Hallo Leo,
hast du Recht und ich die Frage nicht richtig gelesen.
Gruß
Nepumuk
AW: Excelsymbol aus Menüleiste entfernen
15.03.2006 20:15:15
Nepumuk
Hi,
wenn das Tabellenfenster nicht maximiert ist, dann wird aus dem Symbolleistenicon ein ein Titelleistenicon und das kann ersetzt werden.
Gruß
Nepumuk
AW: Excelsymbol aus Menüleiste entfernen
15.03.2006 20:27:18
Leo
Hi,
hast du ein Beispiel? Ich bekomme das nicht weg, auch nicht, wenn nicht maximiert ist.
mfg Leo
Anzeige
AW: Excelsymbol aus Menüleiste entfernen
15.03.2006 20:45:22
Nepumuk
Hallo Leo,
klar:
Option Explicit

Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" ( _
    ByVal hInst As Long, _
    ByVal lpszExeFileName As String, _
    ByVal nIconIndex As Long) As Long
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" ( _
    ByVal hwnd As Long, _
    ByVal wMsg As Long, _
    ByVal wParam As Integer, _
    ByVal lParam As Long) As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" ( _
    ByVal lpClassName As String, _
    ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" ( _
    ByVal hWnd1 As Long, _
    ByVal hWnd2 As Long, _
    ByVal lpsz1 As String, _
    ByVal lpsz2 As String) As Long

Private Const WM_SETICON As Long = &H80
Private Const GC_CLASSNAMEMSEXCEL = "XLMAIN"
Private Const GC_CLASSNAMEMSEXCELWND = "XLDESK"
Private Const GC_CLASSNAMEMSEXCELTABLE = "EXCEL7"

Private Sub prcSetXLWindowIcon(Optional IconFile As String, _
        Optional WorkbookName As String)

    Dim XLMAINhWnd As Long, XLDESKhWnd As Long
    Dim TargetWindowhWnd As Long, VirtualIcon As Long
    XLMAINhWnd = FindWindow(GC_CLASSNAMEMSEXCEL, Application.Caption)
    If Not WorkbookName = vbNullString Then
        XLDESKhWnd = FindWindowEx(XLMAINhWnd, 0&, _
            GC_CLASSNAMEMSEXCELWND, vbNullString)
        TargetWindowhWnd = FindWindowEx(XLDESKhWnd, 0&, _
            GC_CLASSNAMEMSEXCELTABLE, WorkbookName)
    Else
        TargetWindowhWnd = XLMAINhWnd
    End If
    If TargetWindowhWnd <> 0 Then
        If IconFile = vbNullString Then
            VirtualIcon = 0
        Else
            VirtualIcon = ExtractIcon(0, IconFile, 0)
            If VirtualIcon <= 1 Then VirtualIcon = 0
        End If
        SendMessage TargetWindowhWnd, WM_SETICON, False, VirtualIcon
        SendMessage TargetWindowhWnd, WM_SETICON, True, VirtualIcon
    End If
End Sub

Public Sub prcReset()
    Application.Caption = Empty
    ActiveWindow.Caption = ActiveWorkbook.Name
    prcSetXLWindowIcon
    prcSetXLWindowIcon , ThisWorkbook.Name
End Sub

Public Sub prcSet()
    Call prcSetXLWindowIcon _
        ("C:\Programme\Microsoft Office\Office\forms\1031\APPTL.ICO")
    Call prcSetXLWindowIcon _
        ("C:\Programme\Microsoft Office\Office\forms\1031\APPTL.ICO" _
        , ActiveWorkbook.Name)
    Application.Caption = "Meine Anwendung"
    ActiveWindow.Caption = "Mein Name"
End Sub

Gruß
Nepumuk

Anzeige
AW: Excelsymbol aus Menüleiste entfernen
15.03.2006 21:01:56
Leo
Hi,
danke, kann sein, ich versteh das nicht richtig. Denselben Effekt erreicht man,
indem man die Mappenstruktur schützt. Das klappt auch, wenn das Mappenfenster maximiert ist.
mfg Leo
AW: Excelsymbol aus Menüleiste entfernen
15.03.2006 21:29:43
Nepumuk
Hallo leo,
wenn ich das im Workbook_Open-Ereignis starte, dann klappt es, per Button nicht. Unabhängig vom Schutz.
Gruß
Nepumuk
Anzeige
AW: Excelsymbol aus Menüleiste entfernen
15.03.2006 21:42:32
Leo
Hi,
also in E 2002 und 2003 geht das nur, wenn das Mappenfenster nicht maximiert ist,
auch Workbook_Open ändert daran nichts. Wenn das Mappenfenster manuell maximiert wird,
ist die Commandbar "Document" wieder da.
mfg Leo
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige