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

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

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
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
Anzeige
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
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
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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige