netspeedz
New Member
- Joined
- Aug 11, 2011
- Messages
- 21
I have the following VBA code in the Private Sub Workbook_Open() of ThisWorkbook of an Excel Pro 2019 spreadsheet running on Windows 10 Pro 64bit:
I initially thought this code wasn't working until, I remembered another post (which I can not remember who/where) that by right clicking on the taskbar icon and selecting 'Pin to taskbar' and then 'Unpin from taskbar', the icon will display correctly.
My question:
Is there some VBA code that I can add to the Private Sub Workbook_Open() or to Public Sub setTaskbarIcon() to 'Pin to taskbar' and then 'Unpin from Taskbar' to duplicate what I physically did with the mouse? Kind of a 'toggle' of sorts.
Any assistance would be appreciated.
VBA Code:
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 setTaskbarIcon()
Call SetExcelIcon(ThisWorkbook.Path + "\myicon.ico")
End Sub
I initially thought this code wasn't working until, I remembered another post (which I can not remember who/where) that by right clicking on the taskbar icon and selecting 'Pin to taskbar' and then 'Unpin from taskbar', the icon will display correctly.
My question:
Is there some VBA code that I can add to the Private Sub Workbook_Open() or to Public Sub setTaskbarIcon() to 'Pin to taskbar' and then 'Unpin from Taskbar' to duplicate what I physically did with the mouse? Kind of a 'toggle' of sorts.
Any assistance would be appreciated.