Barra de herramientas personalizada

02/06/2006 - 21:49 por Arturo | Informe spam
Hola gente!.
Tengo una planilla con macros y barras de herramietas personalizadas con
botones para ejecutarlas adjuntadas a esa planilla.
Como hago para que al abrir excel con documento nuevo o al abrir cualquier
otra planilla no aparezcan las barras de herramientas aquellas, ya que no
sirven para otros documentos. Esto sucede aunque no esté abierta la planilla
que tiene adjuntas las barras de herramientas.
Muchas gracias y saludos,

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
03/06/2006 - 06:42 | Informe spam
hola, Arturo !

Tengo una planilla con macros y barras de herramietas personalizadas con botones para ejecutarlas adjuntadas a esa planilla.
Como hago para que al abrir excel con documento nuevo o al abrir cualquier otra planilla no aparezcan las barras de herramientas aquellas
ya que no sirven para otros documentos. Esto sucede aunque no esta abierta la planilla que tiene adjuntas las barras de herramientas.



-> si la barra es para uso 'exclusivo' de 'cierto' libro...
[supongo que el 'paso1' ya lo hiciste, es solo por si las dudas]...

paso1: 'adjunta' tu barra de menus ->al archivo<- [p.e. el que contiene las rutinas]
-> [menu] herramientas / personalizar / [ficha] barras de herramientas / [boton] adjuntar...
seleccionas 'la barra'... pulsas en 'copiar >>'... aceptas... cierras... y guardas el libro
[con esto 'te aseguras' que tu barra pesonalizada vaya 'acompañando' a tu libro... siempre] ;)

paso2: [opcional, por si quieres que dicha barra NO 'se le quede' con otro usuario/equipo donde se abra]...
ahora... 'asegurate' de que el proyecto de macros incluya las siguientes 'instrucciones'
en el modulo de codigo del libro [ThisWorkbook] ==Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Nombre de la barra").Delete ' <= pon aqui el nombre de 'la barra'
End Sub

paso3: somo supongo que dicha barra NO es 'necesaria' cuando 'el libro' NO es el libro activo...
asegurate de agregar las siguientes instrucciones/macros...
en el modulo de codigo del libro [ThisWorkbook] ==Private Sub Workbook_WindowActivate(ByVal Wn As Window)
Application.CommandBars("Nombre de la barra").Visible = True ' <= pon aqui el nombre de 'la barra'
End Sub
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Application.CommandBars("Nombre de la barra").Visible = False ' <= pon aqui el nombre de 'la barra'
End Sub

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

p.d. si necesitas informacion adicional para trabajar con barras de herramientas...
[ademas de consultar en el foro]... prueba visitando los siguientes sitios...
-> http://www.erlandsendata.no/english...?t=envbacb
-> http://j-walk.com/ss/excel/tips/commandbars.htm
-> http://www.cpearson.com/excel/menus.htm
[incluso podras descargar ejemplos]
Respuesta Responder a este mensaje
#2 Arturo
03/06/2006 - 16:55 | Informe spam
Hola Héctor Miguel.
Gracias!
Los pasos "1" y "2" están resueltos con éxito. Esto logra el objetivo
fundamental de que las barras "no queden" en el equipo.
El paso "3" tambié funciona; al abrir un nuevo libro, las barras
personalizadas no están y si vuelves a activar el libro que las tiene
adjuntas están visibles.
Pero (siempre debe haber un pero, jaja) al cerrar el libro en cuestión
aparece un mensaje de error de Visual basic que dice: "arcumento a llamada a
procedimiento no válida". Si clikeas depurar te resalta la primer instrucción
de :" Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)" , "
Application.CommandBars("MACROS INSERTA").Visible = False" .
Macros inserta es el nombre de la commandbar. De todas formas, si le das
finalizar, cierra y todo bien.
Si te merece comentario lo dices.
El objetivo está cumplido.
Gracias y saludos.

"Héctor Miguel" escribió:

hola, Arturo !

> Tengo una planilla con macros y barras de herramietas personalizadas con botones para ejecutarlas adjuntadas a esa planilla.
> Como hago para que al abrir excel con documento nuevo o al abrir cualquier otra planilla no aparezcan las barras de herramientas aquellas
> ya que no sirven para otros documentos. Esto sucede aunque no esta abierta la planilla que tiene adjuntas las barras de herramientas.

-> si la barra es para uso 'exclusivo' de 'cierto' libro...
[supongo que el 'paso1' ya lo hiciste, es solo por si las dudas]...

paso1: 'adjunta' tu barra de menus ->al archivo<- [p.e. el que contiene las rutinas]
-> [menu] herramientas / personalizar / [ficha] barras de herramientas / [boton] adjuntar...
seleccionas 'la barra'... pulsas en 'copiar >>'... aceptas... cierras... y guardas el libro
[con esto 'te aseguras' que tu barra pesonalizada vaya 'acompañando' a tu libro... siempre] ;)

paso2: [opcional, por si quieres que dicha barra NO 'se le quede' con otro usuario/equipo donde se abra]...
ahora... 'asegurate' de que el proyecto de macros incluya las siguientes 'instrucciones'
en el modulo de codigo del libro [ThisWorkbook] ==> Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Nombre de la barra").Delete ' <= pon aqui el nombre de 'la barra'
End Sub

paso3: somo supongo que dicha barra NO es 'necesaria' cuando 'el libro' NO es el libro activo...
asegurate de agregar las siguientes instrucciones/macros...
en el modulo de codigo del libro [ThisWorkbook] ==> Private Sub Workbook_WindowActivate(ByVal Wn As Window)
Application.CommandBars("Nombre de la barra").Visible = True ' <= pon aqui el nombre de 'la barra'
End Sub
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Application.CommandBars("Nombre de la barra").Visible = False ' <= pon aqui el nombre de 'la barra'
End Sub

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

p.d. si necesitas informacion adicional para trabajar con barras de herramientas...
[ademas de consultar en el foro]... prueba visitando los siguientes sitios...
-> http://www.erlandsendata.no/english...?t=envbacb
-> http://j-walk.com/ss/excel/tips/commandbars.htm
-> http://www.cpearson.com/excel/menus.htm
[incluso podras descargar ejemplos]



Respuesta Responder a este mensaje
#3 Héctor Miguel
03/06/2006 - 21:42 | Informe spam
hola, Arturo !

Los pasos "1" y "2" estan resueltos con exito. Esto logra el objetivo fundamental de que las barras "no queden" en el equipo.
El paso "3" tambie funciona; al abrir un nuevo libro, las barras... no estan y si vuelves a activar el libro... estan visibles.
Pero (siempre debe haber un pero, jaja) al cerrar el libro en cuestion aparece un mensaje de error de Visual basic que dice:
"argumento a llamada a procedimiento no valida". Si clikeas depurar te resalta la primer instruccion de:
"Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)"
"Application.CommandBars("MACROS INSERTA").Visible = False"
... De todas formas, si le das finalizar, cierra y todo bien...



el comportmiento que describes es 'normal' ??? -> considerando 'el orden' en que los eventos del libro son ejecutados :))
al ejecutarse el evento '_beforeclose' [que obviamente es el primero en el orden] y que ELIMINA 'la barra' personalizada...
cuando el orden de eventos 'llega' para [intentar] ejecutar el '_windowdeactivate'... 'la barra'... YA NO SE ENCUENTRA :-(

para 'remediarlo/corregirlo/prevenirlo/...' agrega una instruccion On Error Resume Next -> en el '_windowdeactivate' [p.e.]

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
On Error Resume Next
Application.CommandBars("macros inserta").Visible = False ' <= pon aqui el nombre de 'la barra'
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#4 Arturo
03/06/2006 - 22:12 | Informe spam
Hola Héctor Miguel.
Gracias!
Tema resuelto, ya no hay peros, todo funciona bien.
Saludos.

"Héctor Miguel" escribió:

hola, Arturo !

> Los pasos "1" y "2" estan resueltos con exito. Esto logra el objetivo fundamental de que las barras "no queden" en el equipo.
> El paso "3" tambie funciona; al abrir un nuevo libro, las barras... no estan y si vuelves a activar el libro... estan visibles.
> Pero (siempre debe haber un pero, jaja) al cerrar el libro en cuestion aparece un mensaje de error de Visual basic que dice:
> "argumento a llamada a procedimiento no valida". Si clikeas depurar te resalta la primer instruccion de:
> "Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)"
> "Application.CommandBars("MACROS INSERTA").Visible = False"
> ... De todas formas, si le das finalizar, cierra y todo bien...

el comportmiento que describes es 'normal' ??? -> considerando 'el orden' en que los eventos del libro son ejecutados :))
al ejecutarse el evento '_beforeclose' [que obviamente es el primero en el orden] y que ELIMINA 'la barra' personalizada...
cuando el orden de eventos 'llega' para [intentar] ejecutar el '_windowdeactivate'... 'la barra'... YA NO SE ENCUENTRA :-(

para 'remediarlo/corregirlo/prevenirlo/...' agrega una instruccion On Error Resume Next -> en el '_windowdeactivate' [p.e.]

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
On Error Resume Next
Application.CommandBars("macros inserta").Visible = False ' <= pon aqui el nombre de 'la barra'
End Sub

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



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida