Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
584to588
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
584to588
584to588
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Icon in Excel Kopfzeile ändern

Icon in Excel Kopfzeile ändern
17.03.2005 15:23:46
Holger
Hallo,
ich hatte mal einen Code von euch bekommen, womit ich das Icon in der Kopfzeile ändern kann, aber ich habe den nicht zum laufen bekommen. Es kommt zwar kein Fehler aber es tut sich nichts.
Folgender Code:
'*** Win32 API

Function Declarations - Für Logo ändern ***
Declare 

Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare 

Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Declare 

Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
Declare 

Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lparam As Long) As Long
'*** Win32 API Constant Declarations - Für Logo ändern ***
Const WM_SETICON As Long = &H80
... und hier die Prozedur zum aufrufen:

Sub Excel_Icon_ändern()
'*** set XL's main window icon ***
Excel_Icon "D:\Programme\OfficeXP\Office10\forms\1031\NOTEL.ICO"
'*** restore XL's main window icon ***
Excel_Icon
'set active workbook's window icon ***
Excel_Icon "D:\Programme\OfficeXP\Office10\forms\1031\CNFNOT.ICO", ActiveWorkbook.Name
'restore active workbook's window icon ***
Excel_Icon , ActiveWorkbook.Name
End Sub

Was ich nicht weis welchen Pfad ich für die Icons angeben muss und welchen für das Excel Icon.
Kann mir da jemand helfen
MfG
Holger Wächter

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Icon in Excel Kopfzeile ändern
17.03.2005 16:52:50
Holger
Genau den Code hatte ich damals bekommen. Ich habe den nur hintereinander geschrieben in komplette Zeilen.
Ich habe den nicht zum laufen bekommen.
Was könnte der Fehler sein?
MfG
Holger Wächter
AW: Icon in Excel Kopfzeile ändern
17.03.2005 17:05:17
Nepumuk
Hallo Holger,
du musst natürlich dafür Sorgen, dass die Icons auch vorhanden sind. Hier mal der etwas überarbeitete Code:


Option Explicit
Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" ( _
     ByVal hInst As Long, _
     ByVal lpszExeFileName As String, _
     ByVal nIconIndex As LongAs 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 LongAs Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" ( _
     ByVal lpClassName As String, _
     ByVal lpWindowName As StringAs 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 StringAs Long
Private Const WM_SETICON As Long = &H80
Private Sub fncSetXLWindowIcon(Optional IconFile As StringOptional WorkbookName As String)
    Dim XLMAINhWnd  As Long, XLDESKhWnd As Long, EXCEL7hWnd  As Long
    Dim TargetWindowhWnd As Long, VirtualIcon As Long
    If Not WorkbookName = vbNullString Then
        XLMAINhWnd = FindWindow("XLMAIN", Application.Caption)
        XLDESKhWnd = FindWindowEx(XLMAINhWnd, 0, "XLDESK", vbNullString)
        TargetWindowhWnd = FindWindowEx(XLDESKhWnd, 0, "EXCEL7", WorkbookName)
    Else
        XLMAINhWnd = FindWindow("XLMAIN", Application.Caption)
        TargetWindowhWnd = XLMAINhWnd
    End If
    If TargetWindowhWnd = 0 Then Exit Sub
    If IconFile = vbNullString Then
        VirtualIcon = 0
    Else
        VirtualIcon = ExtractIcon(0, IconFile, 0)
        If VirtualIcon <= 1 Then Exit Sub
    End If
    SendMessage TargetWindowhWnd, WM_SETICON, False, VirtualIcon
End Sub
Sub test1_fncSetXLWindowIcon() 'Applicationicon - stezen
    fncSetXLWindowIcon "C:\Programme\Microsoft Office\Office\forms\1031\NOTEL.ICO"
End Sub
Sub test2_fncSetXLWindowIcon() 'Applicationicon - zurückstezen
    fncSetXLWindowIcon
End Sub
Sub test3_fncSetXLWindowIcon() 'Mappenicon - setzen
    fncSetXLWindowIcon "C:\Programme\Microsoft Office\Office\forms\1031\CNFNOT.ICO" _
        , ActiveWorkbook.Name
End Sub
Sub test4_fncSetXLWindowIcon() 'Mappenicon - zurücksetzen
    fncSetXLWindowIcon , ActiveWorkbook.Name
End Sub


Damit du die Änderung des Mappenicons überhaupt siehst, das das Fester nicht maximiert sein.
Gruß
Nepumuk
Anzeige
AW: Icon in Excel Kopfzeile ändern
17.03.2005 17:24:11
Holger
Danke,
jetzt hat es geklappt. Ihr wisst hier auch alles. Spitze!
Weisst Du vielleicht wo es so eine kleine Icon - Sammlung gibt.
MfG
Holger Wächter
AW: Icon in Excel Kopfzeile ändern
17.03.2005 17:34:02
Nepumuk
Hallo Holger,
ich habe einen Ordner mit ~ 1500 Icons. Dazu ein kleines Programm, um Icons aus DLL's und EXE - Dateien zu extrahieren. Schreib mir eine Mail (guckst du in die Profile), dann schicke ich ihn dir.
Gruß
Nepumuk
AW: Icon in Excel Kopfzeile ändern
17.03.2005 17:43:09
Holger
Habe Dir die E-Mail geschrieben. Danke schon mal für alles
MfG
Holger Wächter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige