PDA

View Full Version : Sleeper: Change excel icon



gibbo1715
03-05-2005, 01:09 PM
Is it possible to change the desktop icon for just one excel workbook to my own image and leave all others with the standard excel icon?

Killian
03-05-2005, 01:29 PM
If you make it a shortcut to your workbook you can change the icon in the shortcut properties

gibbo1715
03-05-2005, 01:50 PM
wont work for what im looking to do, i need to change just the one icon if that is possible

Brandtrock
03-05-2005, 05:52 PM
Check out Colo's solution here: Colo's Junk Room (http://puremis.net/excel/code/045.shtml)

Check out Daniell Klann's solution here: Daniel Klann.com (http://www.danielklann.com/excel/change_xl_icon.htm)

HTH

Paleo
03-05-2005, 08:10 PM
I have copied it here for you!

1. Add an image control on the worksheet. (In this example, the image control is placed in the Sheet1)
You can add image controls View - Toolbars - Control Toolbox from main menu bar.

2. Right click for Propertiesof the image control and select appropriate ico file(with an extension of .ico) from picture property box in the properties window.
Now you can see the picture on the Sheet1 as follows.
http://puremis.net/excel/code/image/045_02.gif
3.Place the following in the standard module.

Note: Some kind of ico image doesn't work. I am not sure about the reason.


Option Explicit

Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) _
As Long
Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" _
(ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
Const WM_SETICON = &H80
Const ICON_SMALL = 0&
Const ICON_BIG = 1&

Sub ChangingExcelIcon()
MsgBox "Change Excel Icon"
Call ChangeXLIcon(Sheet1.Image1.Picture.Handle)
End Sub

Sub MakeExcelIconDefaultAgain()
MsgBox "Make Excel Icon default again"
Call ChangeXLIcon
End Sub

Private Sub ChangeXLIcon(Optional ByVal hIcon As Long = 0&)
Dim hWnd As Long
Dim lngRet As Long
'Get the handle of Excel application
hWnd = FindWindow("XLMAIN", Application.Caption)
lngRet = SendMessage(hWnd, WM_SETICON, ICON_SMALL, ByVal hIcon)
lngRet = SendMessage(hWnd, WM_SETICON, ICON_BIG, ByVal hIcon)
lngRet = DrawMenuBar(hWnd)
End Sub

gibbo1715
03-06-2005, 02:10 AM
thank you for your help but what im after is changing the excel icon that appears on your desktop ( Or anywhere else) for just that one instance of excel if that is possible

Jacob Hilderbrand
03-06-2005, 03:08 AM
Create a shortcut to the file

Right click the shortcut

Properties

Change Icon...

Brandtrock
03-06-2005, 11:21 AM
thank you for your help but what im after is changing the excel icon that appears on your desktop ( Or anywhere else) for just that one instance of excel if that is possible




Create a shortcut to the file


Right click the shortcut


Properties


Change Icon...

When someone wearing Killian's clothes and bearing a striking resemblance to Killian suggested the same approach that Jake has just posted in reply to your post, you said it wouldn't work for your situation. Sorry that I interpreted that to mean the icon in the window.

Paleo, Thanks for including the info from Colo's page. :thumb

Anyhow, hope this helps someone. :friends:

Regards,

Paleo
03-11-2005, 09:01 AM
Hi gibbo1715,

is it solved??:dunno