Primero que nada, ningun archivo de excel puede tener un icono diferente al asignado para el excel. De cambiarse este en el explorardor de windows: HERRAMIENTAS - OPCIONES DE CARPETA - TIPOS DE ARCHIVOS..... ETC, afectara a TODOS los archivos de excel, y TODOS tendran el mismo icono.
Una opcion es crear un acceso directo a nuestro archvio de excel, y ese accesso directo si puede ser personalizado con un icono propio, simplemente dandoles click derecho, seleccionando "propiedades" y etc
Lo que si se puede hacer, es personalizar el icono de excel que se ve en la esquina superior izquierda del excel. En un archivo de excel, en el modulo "thisworkbook" pega esto:
Private Declare Function BuscaVentana _
Lib "User32" Alias "FindWindowA" ( _
ByVal Clase As String, ByVal Nombre As String) As Long
Private Declare Function SacarIcono _
Lib "Shell32.dll" Alias "ExtractIconA" ( _
ByVal Instala As Long, ByVal ArchivoICO As String, _
ByVal Indice As Long) As Long
Private Declare Function MandaMensaje _
Lib "User32" Alias "SendMessageA" ( _
ByVal Ventana As Long, ByVal Mensaje As Long, _
ByVal ParV As Integer, ByVal ParL As Any) As Long
Private Sub Workbook_Open()
Dim Archivo As String
Archivo = "D:Archivos2ImagenesExcelxl.ico" ' <= pon aqui la ruta al archivo con el icono '
CambiarIcono Archivo
Application.Caption = "Icono nuevo"
End Sub
Private Sub CambiarIcono(Optional ByVal Archivo As String = "")
If Dir(Archivo) = "" Then Exit Sub
Dim Ventana As Long, Icono As Long
Icono = SacarIcono(0, Archivo, 0)
Ventana = BuscaVentana(vbNullString, Application.Caption)
MandaMensaje Ventana, &H80, 0, Icono
MandaMensaje Ventana, &H80, 1, Icono
End Sub
Abraham