Mega Code Archive

 
Categories / VisualBasic Script / Windows API
 

Change the Excel icon

Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( ByVal ClassName As String, ByVal WindowName As String) As Long Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" ( ByVal Instance As Long, ByVal ExeFileName As String, ByVal IconIndex As Long) As Long Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal Message As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long Const WM_SETICON = &H80 Public Sub SetExcelIcon(ByVal IconPath As String)   Dim A As Long   Dim hWnd As Long   Dim hIcon As Long   hWnd = FindWindow("XLMAIN", Application.Caption)   hIcon = ExtractIcon(0, IconPath, 0)   If hIcon > 1 Then     Call SendMessage(hWnd, WM_SETICON, True, hIcon)     Call SendMessage(hWnd, WM_SETICON, False, hIcon)   End If End Sub Public Sub TestExcelIcon()   Call SetExcelIcon(ThisWorkbook.Path + "\myico.ico") End Sub