Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

quitar titulo de microsoft excel

424 views
Skip to first unread message

LUIS DANNY SALAS

unread,
Apr 25, 2007, 4:52:12 PM4/25/07
to
Hola y gracias de antemano:
tengo un libro hecho con excel pero deseara que cuando se abra no diga en la
parte superior "Microsoft Excel" que el libro tenga toda las funcionalidades
pero nada mas no aparezca ese titulo y en su lugar que aparezca el nombre
del libro.
muchas gracias si me pueden ayudar.


Héctor Miguel

unread,
Apr 26, 2007, 12:53:04 AM4/26/07
to
holal Luis !

> ... un libro... deseara que cuando se abra no diga en la parte superior "Microsoft Excel"
> ... y en su lugar que aparezca el nombre del libro...

cuando se abre tu libro [en el evento '_open' o en el '_activate' / '_deactivate' de sus ventanas]

quitar el titulo de la aplicacion: -> applcation.caption = " "

restablecer el titulo de la aplicacion: -> application.caption = ""

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.


LUIS DANNY SALAS

unread,
Apr 26, 2007, 3:37:18 PM4/26/07
to
Gracias Hector, y se podra tambien desaparecer el icono de excel? y tal vez
sustituirlo por otro?
por que ahora se abre con el nombre de mi libro pero a la par tiene el
caracteristico icono de excel
gracias
"Héctor Miguel" <NOhemio...@PLShotmail.com> wrote in message
news:%230rOI77...@TK2MSFTNGP04.phx.gbl...

Héctor Miguel

unread,
Apr 26, 2007, 9:40:05 PM4/26/07
to
hola, Luis !

> ... se podra tambien desaparecer el icono de excel? y tal vez sustituirlo por otro? ...

asumiendo que tienes un archivo *.ICO para el nuevo icono...
prueba copiando/pegando las siguientes instrucciones

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

=== en el modulo de codigo del libro [ThisWorkbook] ===
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 = "c:\ruta y\sub carpetas donde esta\el archivo.ico" ' <= pon aqui la ruta al archivo con el icono '
CambiarIcono Archivo
Application.Caption = "Mi Empresa, S.A."
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


Angel

unread,
Apr 27, 2007, 7:00:02 PM4/27/07
to
Por favor Héctor, ¿podrías explicarme donde debo poner lo que comentas?

En la macro

Private Sub Workbook_Open()
applcation.Caption = " "

End Sub

Gracias

"Héctor Miguel" escribió:

Héctor Miguel

unread,
Apr 27, 2007, 7:23:08 PM4/27/07
to
hola, Angel !

> ... donde debo poner lo que comentas?


> En la macro
> Private Sub Workbook_Open()
> applcation.Caption = " "
> End Sub

lo 'usual' es poner este tipo de codigos dentro del modulo de codigo de 'ese' libro -> ThisWorkbook [p.e.]

a) para que el entorno de la aplicacion se 'adapte' cuando se abre 'tu' libro:
Private Sub Workbook_Open()
Applcation.Caption = " "
End Sub

b) la aplicacion 'recuperara' su titulo normal SOLO hasta que se cierre esa sesion... o al cerrarse 'tu' libro si usas:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Applcation.Caption = ""
End Sub

c) si quieres 'alternar' entre 'tu' libro y otros libros abiertos en la sesion:
Private Sub Workbook_WindowActivate(ByVal Wn As Window)

Applcation.Caption = " "
End Sub
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Applcation.Caption = ""
End Sub

nota: los eventos '_activate' y '_deactivate' del libro tambien se ejecutan despues de los '_open' y '_beforeclose' :))

LUIS DANNY SALAS

unread,
Apr 29, 2007, 9:42:23 PM4/29/07
to
Gracias, me sirvio perfectamente...
pero en el titulo de cada hoja del lilbro sigue apareciendo el icono a la
par del nombre del libro, que codigo utilizo y donde lo pongo para tambien
sustituir este icono? pues el titulo microsoft excel y su respectivo icono
ya los sutitui pero en cada hoja en la parte de arriba sale el titulo con el
nombre del libro pero con el icono de excel

"Héctor Miguel" <NOhemio...@PLShotmail.com> wrote in message
news:%23kLM$zGiHH...@TK2MSFTNGP06.phx.gbl...

Héctor Miguel

unread,
Apr 30, 2007, 4:09:05 AM4/30/07
to
hola, Luis !

> ... me sirvio... pero en el titulo de cada hoja del lilbro sigue apareciendo el icono a la par del nombre del libro
> que codigo utilizo y donde lo pongo para tambien sustituir este icono? [...]

para quitar el icono tambien a la ventana del libro [cuando la ventana del libro NO esta mazimizada]...
Y en el area de la barra de menus [cuando la ventana del libro SI esta maximizada... que no es lo mismo]...
se requiere una llamada adicional a las API's de windows...
y encontrar dos instancias/clases de ventanas que 'cuelgan' de la ventana principal [excel]
a) la ventana del libro dentro del area de la aplicacion [tambien conocida como 'escritorio'], y...
b) la segunda clase -de 4- de ventanas de la aplicacion, donde se encuentra la barra de menus
-> te paso un ejemplo al final del presente [sub-clases por Stratos Malasiotis] ;)

saludos,
hector.

=== en el modulo de codigo del libro [ThisWorkbook] ===

Private Declare Function BuscaVentana _
Lib "User32" Alias "FindWindowA" ( _
ByVal Clase As String, ByVal Nombre As String) As Long

Private Declare Function BuscaClaseVentana _
Lib "User32" Alias "FindWindowExA" ( _
ByVal Ventana As Long, ByVal Clase As Long, _
ByVal Area As String, ByVal Area2 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 = "c:\ruta y\sub carpetas donde esta\el archivo.ico" ' <= pon aqui la ruta al archivo con el icono '
CambiarIcono Archivo
Application.Caption = "Mi Empresa, S.A."
End Sub
Private Sub CambiarIcono(Optional ByVal Archivo As String = "")
If Dir(Archivo) = "" Then Exit Sub

Dim Icono As Long, Ventana As Long, Area As Long, Libro As Long, Barras As Long


Icono = SacarIcono(0, Archivo, 0)

Ventana = BuscaVentana("XLMAIN", Application.Caption)
Area = BuscaClaseVentana(Ventana, 0, "XLDESK", vbNullString)
Libro = BuscaClaseVentana(Area, 0, "EXCEL7", vbNullString)
Barras = BuscaClaseVentana(Ventana, 0, "EXCEL2", vbNullString)
Barras = BuscaClaseVentana(Ventana, Barras, "EXCEL2", vbNullString)


MandaMensaje Ventana, &H80, 0, Icono
MandaMensaje Ventana, &H80, 1, Icono

MandaMensaje Libro, &H80, 0, Icono
MandaMensaje Libro, &H80, 1, Icono
MandaMensaje Barras, &H80, 0, Icono
MandaMensaje Barras, &H80, 1, Icono
End Sub


LUIS DANNY SALAS

unread,
May 1, 2007, 8:54:30 PM5/1/07
to
Gracias Hector, como siempre genial, me funciono perfecto.
Lo que veo es que logicamente si el archivo se abre en otra maquina (por
ejemplo si se lo paso a un companero) se abrira con el logo de excel pues no
encontrara en la ruta especificada (logicamente por que es otra maquina) el
"archivo .ico"
No se si esta situacion se podira cporregir incluyendo el archivo.ico en
alguna parte del libro como imagen o alguna otra solucion, para que no
importa en que maquina se abra sin neceisdad del archivo.ico el libro se
abra sin el logo de excel y con el logo que yo le haya puesto.
muchas gracias.

"Héctor Miguel" <NOhemio...@PLShotmail.com> wrote in message

news:%23sBwT7v...@TK2MSFTNGP04.phx.gbl...

Héctor Miguel

unread,
May 2, 2007, 2:41:53 AM5/2/07
to
hola, Luis !

> Lo que veo es que logicamente si el archivo se abre en otra maquina (por ejemplo si se lo paso a un companero)

> se abrira con el logo de excel pues no encontrara en la ruta especificada... el "archivo .ico"


> No se si esta situacion se podira cporregir incluyendo el archivo.ico en alguna parte del libro como imagen
> o alguna otra solucion, para que no importa en que maquina se abra sin neceisdad del archivo.ico
> el libro se abra sin el logo de excel y con el logo que yo le haya puesto.

[hasta donde se]... el icono de la aplicacion se puede sustituir [solo] por iconos 'validos' [es decir]...
que puedan ser 'tomados' porque estan contenidos en archivos/librerias/.... .EXE, .DLL, .ICO

op1: o provees junto con tu libro el archivo con el icono
puedes hacer que se busque p.e. como: -> ThisWorkbook.Path & "\mi archivo.ico"

op2: o te buscas un 'ejecutable/libreria/...' que pueda ser encontrado [casi] en cualquier sistema
si el 'contenedor' tiene la opcion de varios iconos, puedes extraer el que necesites segun su 'indice' [0 a n_iconos - 1]
-> indicandolo en el tercer argumento de la llamada a la funcion 'ExtractIconA' en la API 'Shell32.dll"
-> p.e. para extraer el segundo icono de un archivo con varios -> Icono = SacarIcono(0, Archivo, 1)

saludos,
hector.


LUIS DANNY SALAS

unread,
May 8, 2007, 10:55:38 PM5/8/07
to
gracias Hector

"Héctor Miguel" <NOhemio...@PLShotmail.com> wrote in message

news:u5i46TIj...@TK2MSFTNGP03.phx.gbl...

0 new messages