............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

Cambiar icono de Excel en libro abierto

Ver el tema anterior Ver el tema siguiente Ir abajo

Cambiar icono de Excel en libro abierto

Mensaje por moises melgar el Miér Nov 03, 2010 1:10 pm

Cuando colocamos un determinado libro de excel en vista de pantalla completa,en la izquierda de la barra de titulo se muestra el icono de excel

¿Como se podria modificar ese icono o por lo menos que no se muestre?
No tengo algun codigo no se como empezar ni como hacerlo

Gracias
avatar
moises melgar
Jr_Moderator

Masculino Cantidad de envíos : 563
Edad : 29
Ciudad - Pais : Coatzacoalcos - Mexico
Version de Excel : 2007 - 2010
Fecha de inscripción : 25/05/2010

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por moises melgar el Vie Nov 05, 2010 9:28 pm

Re: alguien podria orientarme o darme alguna pista ???
de todos modos seguire estudiando basandome en el fun userfom
avatar
moises melgar
Jr_Moderator

Masculino Cantidad de envíos : 563
Edad : 29
Ciudad - Pais : Coatzacoalcos - Mexico
Version de Excel : 2007 - 2010
Fecha de inscripción : 25/05/2010

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por avalencia el Sáb Nov 06, 2010 1:41 am

Pega eso en el modulo del libro (ThisWorkBook - nombre por defecto)

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:\Imagenes\informatica\Nuevo iconos\cats\Cats2.ico" ' <= pon aqui la ruta al archivo con el icono '
CambiarIcono Archivo
Application.Caption = "Mi icono"

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

Saludos

Abraham

avalencia
MS MVP
MS MVP

Masculino Cantidad de envíos : 99
Edad : 39
Ciudad - Pais : Lima - Peru
Version de Excel : 2003 - 2007 - 2010
Fecha de inscripción : 28/06/2009

http://abrahamexcel.webcindario.com/

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por GalileoGali el Sáb Nov 06, 2010 9:15 am

Abraham: que bueno lo de "traducir" el nombre de las funciones API, DEJANDO INTACTO SU ALIAS.
Anoche estuve hasta muy tarde con esta pregunta y encontre código, entre otros uno bastante desarrollado de Stephen Bullen...., pero todo lo que encontré destinado a "Cambiar el ícono" , Y mi intención era la de "Eliminar el Icono", que aparentemente parecería más facil....
Probe pasando en lugar del Path, vbaNullString, cambiando algunos parametros por False, pero sin estar muy seguro de que apuntaba al blanco....hasta que me ganó el sueño....hasta donde llegué, me topé con otra API: DestroyIcon, pero tuve la sensación de que por ahi no iba la cosa

De paso: como la web de API-GUIDE no funciona y msdn no siempre es amigable con VBA, podrias citar UNA FUENTE ABUNDANTE DE CODIGO API VBA?

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1963
Edad : 62
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por avalencia el Sáb Nov 06, 2010 11:12 am

Hola Gali:

DestroyIcon, lo que hace es descargar de la memoria los iconos que cargamos/extraemos/creamos:

[Tienes que estar registrado y conectado para ver este vínculo]

Para quitar el icono podria leer por aca:

[Tienes que estar registrado y conectado para ver este vínculo]

Para lo de las funciones del API, ¿Porque no te bajas el api-guie o el APIVIewer? PAra lectura, aunque quizas los conoces, te dejo estos:

[Tienes que estar registrado y conectado para ver este vínculo]

[Tienes que estar registrado y conectado para ver este vínculo]

[Tienes que estar registrado y conectado para ver este vínculo]

Abraham

avalencia
MS MVP
MS MVP

Masculino Cantidad de envíos : 99
Edad : 39
Ciudad - Pais : Lima - Peru
Version de Excel : 2003 - 2007 - 2010
Fecha de inscripción : 28/06/2009

http://abrahamexcel.webcindario.com/

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por GalileoGali el Sáb Nov 06, 2010 12:13 pm

En un reciente e inevitable formateo de mi HD, perdi el Api-Guide y me costo trabajo reencontrarme con el, Así que agradezco el Link.

El guille: tiene excelente material, aunque preferiría que no divagara tanto y se centrara más y lograra una didáctica menos dispersa (es gratis, y todavia me quejo!!!no tengo remedio!!!!)
Como siempre, solo resta agradecerte---
y ahora me pongo con el tip de ver a mis compatriotas en recursosvisualbasic (una verdadera enciclopedia de codigo VB y muchas veces adaptable facilemente a VBA)

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1963
Edad : 62
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por avalencia el Sáb Nov 06, 2010 12:38 pm

¿No tienes remedio? bueno, si tu lo dices jejejejejje.

Estoy a punto de desconectarme (tengo que ir a cocinar), pero, si mas tarde entro prometo intentar quitar el icono. De todos modos, si en estas horas lo logras, no dejes de avisar.

Mas bien, nuestro amigo Moises no ha dicho nada aun, y por cierto, ¿no seria conveniente mover a "macros" este debate

Saludos

avalencia
MS MVP
MS MVP

Masculino Cantidad de envíos : 99
Edad : 39
Ciudad - Pais : Lima - Peru
Version de Excel : 2003 - 2007 - 2010
Fecha de inscripción : 28/06/2009

http://abrahamexcel.webcindario.com/

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por Tatayayan el Sáb Nov 06, 2010 12:41 pm

Espectacular todo lo que se vé!
wonderful shocking
avatar
Tatayayan
Moderador
Moderador

Masculino Cantidad de envíos : 319
Ciudad - Pais : Chamical- La Rioja - ARG
Fecha de inscripción : 20/11/2008

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por moises melgar el Sáb Nov 06, 2010 12:44 pm

muchas gracias de verdad nunca hubiera dado con esto, voy a leer lo que me muetran y siempre estare muy agradecido con los dos por enseñarme esta nueva leccion
avatar
moises melgar
Jr_Moderator

Masculino Cantidad de envíos : 563
Edad : 29
Ciudad - Pais : Coatzacoalcos - Mexico
Version de Excel : 2007 - 2010
Fecha de inscripción : 25/05/2010

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por GalileoGali el Sáb Nov 06, 2010 1:24 pm

Por ahora he alimentado FindWindowEx con
1) 3er parametro "XLMAIN", 4to Application.Caption
entonces con ShowWindow, 2do parametro SW_HIDE, me OCULTA TODA LA VENTANA DE EXCEL

2) Me di cuenta de que FINDwindowex, EN ESAS CONDICIONES recibe un Hwnd (en mi PC en ese instante de testeo de 196217) equivalente a simplemente Applicatio.Hwnd que devuelve el mismo valor, así salteé el FindWindowEx y como era lógico obtuve el mismo resultado; me OCULTA TODA LA VENTANA DE EXCEL

¿Como se entera SHOWWINDOW de que lo que quiero ocultar es SOLO EL ICONO?

EN PROXIMAS EDICIONES PROMETEMOS LA RECETA DEL CEVICHE "Chez Valencia"

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1963
Edad : 62
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por avalencia el Sáb Nov 06, 2010 11:00 pm

Hola nuevamente:

Pues acabo de dar cuenta, previa lectura, que el icono de EXcel NO puede ser retirado, es decir, podemos cambiarlo pero no dejar ese espacio vacio.

Gali, la idea era dejarlo vacio ¿cierto? ¿te conformarias con retirar el icono personalizado y que se quede el propio de Excel?

Saludos

Abraham

avalencia
MS MVP
MS MVP

Masculino Cantidad de envíos : 99
Edad : 39
Ciudad - Pais : Lima - Peru
Version de Excel : 2003 - 2007 - 2010
Fecha de inscripción : 28/06/2009

http://abrahamexcel.webcindario.com/

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por GalileoGali el Sáb Nov 06, 2010 11:18 pm

Acabo de probar este codigo y salvando las condiciones que impone, funciona

Public Sub RemoveWindowX()
ActiveWorkbook.Protect , , True
Application.DisplayFullscreen = True
End Sub

Public Sub RestoreWindowX()
ActiveWorkbook.Protect , , False
End Sub
Igualmente sigo leyendo....

Por otra parte

el mismisimo Ron de Bruin

Hoy me contestaba, con una posible solucion, pero acto seguido se disculpo y dejo sin efecto su respuesta anterior
[Tienes que estar registrado y conectado para ver este vínculo]


_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1963
Edad : 62
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por avalencia el Sáb Nov 06, 2010 11:29 pm

Gali, pero el poner en "pantalla completa" ¿era lo que buscabas?

Sobre las disculpas de Ron, pues, supongo que indago como yo y vio que no era posible. Tal parece que los amigos de Microsoft, no consideraban esa posibilidad antes, he incluso como ejemplo la propiedad de retirar/colocar iconos en VB 6.0 (y anteriores) no existe, pero si existe en las versiones *.Net (ShowIcon)

saludos

Abraham

avalencia
MS MVP
MS MVP

Masculino Cantidad de envíos : 99
Edad : 39
Ciudad - Pais : Lima - Peru
Version de Excel : 2003 - 2007 - 2010
Fecha de inscripción : 28/06/2009

http://abrahamexcel.webcindario.com/

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por avalencia el Sáb Nov 06, 2010 11:50 pm

Ah, por cierto, lo olvidaba, ademas de reponer, la otra opcion para que no se vea el icono es deshabilitar toda la barra del titulo, eso oculta el icono, pero tambien los botones de maximizar, minimizar y cerrar

Abraham

avalencia
MS MVP
MS MVP

Masculino Cantidad de envíos : 99
Edad : 39
Ciudad - Pais : Lima - Peru
Version de Excel : 2003 - 2007 - 2010
Fecha de inscripción : 28/06/2009

http://abrahamexcel.webcindario.com/

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por GalileoGali el Dom Nov 07, 2010 7:56 am

Ya que no se puede con VBA, ni con API's, vamos a dejar algunas soluciones de solo CAMBIO DEL ICONO (no, su remoción).
aca va una muy interesante de Colo (¿seguirá siendo MVP?, pareciera que no a juzgar por el Banner)

[Tienes que estar registrado y conectado para ver este vínculo]

Abraham: yo realmente me adentré en la búsqueda en la web a raíz de la consulta original de moises. La pseudo-solución con Protect y DisplayFullScreen, la puse porque la encontre en una artículo de VBAExpress, donde los participantes pasearon por todas las opciones, sin resultados y lo de Ron, fue un tintento fallido, ya que con algunas API's procuró,el efecto, y, probablemente después al testearlo, vio que no lograba el cometido.....

Pero bueno,,,,sigamos adelante

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1963
Edad : 62
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por avalencia el Dom Nov 07, 2010 10:49 am

Pues como tu dides, en su banner dice "ex", asi que por algo sera.

Sobre lo del icono, pues, creo que ya que no se puede remover, y habiendose mostrado ya varias opciones del cambio de icono, el tema podria darse por cerrado, ¿o estariamos dejando algo pendiente aun?

Saludos

Abraham


avalencia
MS MVP
MS MVP

Masculino Cantidad de envíos : 99
Edad : 39
Ciudad - Pais : Lima - Peru
Version de Excel : 2003 - 2007 - 2010
Fecha de inscripción : 28/06/2009

http://abrahamexcel.webcindario.com/

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por GalileoGali el Dom Nov 07, 2010 12:24 pm

Estoy de acuerdo, No obstante, no me parece descabellada la idea que "tiró" un forista de mrexcel ("diddi"), que en síntesis propúso:
}¿Conseguir una especie de Null icon, con medida de pixeles casi o igual a 0
y luego usar alguno de los Códigos de Change Icon

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1963
Edad : 62
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por avalencia el Dom Nov 07, 2010 1:23 pm

Pues si, creo que esa es una opcion

Abraham

avalencia
MS MVP
MS MVP

Masculino Cantidad de envíos : 99
Edad : 39
Ciudad - Pais : Lima - Peru
Version de Excel : 2003 - 2007 - 2010
Fecha de inscripción : 28/06/2009

http://abrahamexcel.webcindario.com/

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por sailepaty el Dom Nov 07, 2010 4:46 pm

Y si crean un icono del mismo color de la barra de titulo y efectuan un remplazo?

Saludos


_________________
I didn't ask to be Mexican I just got lucky!!!
avatar
sailepaty
Moderador
Moderador

Masculino Cantidad de envíos : 135
Edad : 54
Ciudad - Pais : Dallas, TX
Version de Excel : 2007 y 2010
Fecha de inscripción : 04/03/2008

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por GalileoGali el Dom Nov 07, 2010 8:05 pm

por fin LA OBSTINACION alentada por la intuicion de que debia existir la manera!!!!

[Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver este vínculo]
(esta última página puede disparar algun antivirus, yo sabiendo que el autor es Colo, la abro igual, con su MenuMaker algo similar pasaba en el pasado, y resultaba inocuo a pesar de las advertencias)

Código:
En el Modulo ThisworkBook
Private Sub Workbook_BeforeClose(Cancel As Boolean)
MakeExcelIconDefaultAgain
Application.Caption = Empty
End Sub

Private Sub Workbook_Open()
ChangingExcelIcon
Application.Caption = "Excelgali"
End Sub

En un Modulo estandard

Código:
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()
'    Call ChangeXLIcon(Sheet1.Image1.Picture.Handle)
    Call ChangeXLIcon(vbNull)
End Sub
Sub MakeExcelIconDefaultAgain()
    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

Gracias a todos por sus sugerencias: el código que reproduzco: Es adaptacion de Colo, extraido de las viejisimas NewLettters publicadas en la vieja Página de John Walkenbach.
Con una sugerencia de Jaafar Tribak en Mrexcel

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1963
Edad : 62
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por avalencia el Dom Nov 07, 2010 9:54 pm

Premio a la obstinacion mi querido amigo, y yo estab 99.9999% seguro que no se podia, mas aun con mis frustrantes intentos en VB 6.0 (lo mas que consegui es dejar un "hueco" en blanco)... va para el baul

Abraham

avalencia
MS MVP
MS MVP

Masculino Cantidad de envíos : 99
Edad : 39
Ciudad - Pais : Lima - Peru
Version de Excel : 2003 - 2007 - 2010
Fecha de inscripción : 28/06/2009

http://abrahamexcel.webcindario.com/

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por moises melgar el Lun Nov 08, 2010 1:49 pm

gracias, es impresionante estos son codigos que nunca se deben de perder
no tengo palabras ....muchas gracias
avatar
moises melgar
Jr_Moderator

Masculino Cantidad de envíos : 563
Edad : 29
Ciudad - Pais : Coatzacoalcos - Mexico
Version de Excel : 2007 - 2010
Fecha de inscripción : 25/05/2010

Volver arriba Ir abajo

Re: Cambiar icono de Excel en libro abierto

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.