Change the Excel icon : Windows Resources « Windows API « VBA / Excel / Access / Word






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

 








Related examples in the same category

1.Clipping and Unclipping the Cursor
2.The FindWindow() function finds the first top-level window in the window list that satisfies the specified arguments.
3.Check Whether an Excel File Is Open on a Network
4.Custom About Dialog
5.Disable the X for Closing a Userform
6.Check mouse button
7.Returns the Windows directory
8.Get execuatable file name from a given file name
9.Get screen width and height
10.Get window's rectangle
11.Find window by class name
12.Show Excel Window Size
13.Get color depth
14.Get DC and release it
15.Get user name
16.Get the computer name
17.Freeze a window