Macro AUTOOPEN

30/01/2008 - 03:57 por Raúl | Informe spam
Buenas noches a todos,

Espero me puedan apoyar, quiero crear una macro que al abrir un archivo de
excel se ejecute inmediatamente para activar el modo de pantalla completa y
que desactive el comando opciones del menu herramientas, así como
deshabilitar las barras de herramientas incorporadas y la barra de menús,
alguien sabe como le indico a la macro que se ejecute al abrir el libro
donde la grabe, saludos a todos y gracias de antemano

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
30/01/2008 - 21:54 | Informe spam
hola, Raúl !

... quiero crear una macro que al abrir un archivo... se ejecute inmediatamente para activar el modo de pantalla completa
y que desactive el comando opciones del menu herramientas, asi como deshabilitar las barras de herramientas incorporadas
y la barra de menus, alguien sabe como le indico a la macro que se ejecute al abrir el libro donde la grabe ...



op1: para que la presentacion afecte SOLO cuando el usuario este utilizando tu aplicacion (el libro entero)...
pega en el modulo de codigo del libro (ThisWorkbook) ==Private Sub Workbook_Activate()
AmpliarVista True
End Sub
Private Sub Workbook_Deactivate()
AmpliarVista False
End Sub
Private Sub AmpliarVista(ByVal Mostrar As Boolean)
With Application
.DisplayFullScreen = Mostrar: .DisplayScrollBars = Not Mostrar
.CommandBars.ActiveMenuBar.Enabled = Not Mostrar
End With
End Sub

op2: para que la afectacion sea unicamente en cierta hoja de tu libro...
en el modulo de codigo de esa determinada hoja ==Private Sub Worksheet_Activate()
Application.DisplayFullScreen = True
Application.CommandBars.ActiveMenuBar.Enabled = False
End Sub
Private Sub Worksheet_Deactivate()
Application.DisplayFullScreen = False
Application.CommandBars.ActiveMenuBar.Enabled = True
End Sub

-> los procedimientos anteriores ocultan (NO alguna, sino) todas las barras de menus (y comandos)
para hacer lo mismo PERO SOLO con algunas barras de menus y comandos...
habria que determinar cuales si, y cuales no (ademas pensar que hacer si hay alguna pesonalizada)
y... (sobre todo) cuidar de no echarle a perder al usuario en turno su arreglo personal de las barras <\°|°/>

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Raúl
02/02/2008 - 08:18 | Informe spam
Muchas gracias por tu apoyo, son correctas todas las opciones que comentas,
el enfoque que les das es muy bueno.

Solo una pregunta, porque utilizas la variable Mostrar como paso por valor?

La verdad es nunca he entendido la diferencia entre paso por referencia y
paso por valor en que casos aplicar cada una?

Un saludo cordial y gracias


"Héctor Miguel" escribió en el mensaje
news:
hola, Raúl !

... quiero crear una macro que al abrir un archivo... se ejecute
inmediatamente para activar el modo de pantalla completa
y que desactive el comando opciones del menu herramientas, asi como
deshabilitar las barras de herramientas incorporadas
y la barra de menus, alguien sabe como le indico a la macro que se
ejecute al abrir el libro donde la grabe ...



op1: para que la presentacion afecte SOLO cuando el usuario este
utilizando tu aplicacion (el libro entero)...
pega en el modulo de codigo del libro (ThisWorkbook) ==> Private Sub Workbook_Activate()
AmpliarVista True
End Sub
Private Sub Workbook_Deactivate()
AmpliarVista False
End Sub
Private Sub AmpliarVista(ByVal Mostrar As Boolean)
With Application
.DisplayFullScreen = Mostrar: .DisplayScrollBars = Not Mostrar
.CommandBars.ActiveMenuBar.Enabled = Not Mostrar
End With
End Sub

op2: para que la afectacion sea unicamente en cierta hoja de tu libro...
en el modulo de codigo de esa determinada hoja ==> Private Sub Worksheet_Activate()
Application.DisplayFullScreen = True
Application.CommandBars.ActiveMenuBar.Enabled = False
End Sub
Private Sub Worksheet_Deactivate()
Application.DisplayFullScreen = False
Application.CommandBars.ActiveMenuBar.Enabled = True
End Sub

-> los procedimientos anteriores ocultan (NO alguna, sino) todas las
barras de menus (y comandos)
para hacer lo mismo PERO SOLO con algunas barras de menus y comandos...
habria que determinar cuales si, y cuales no (ademas pensar que hacer
si hay alguna pesonalizada)
y... (sobre todo) cuidar de no echarle a perder al usuario en turno su
arreglo personal de las barras <\°|°/>

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Respuesta Responder a este mensaje
#3 Héctor Miguel
02/02/2008 - 08:41 | Informe spam
hola, Raúl !

Solo una pregunta, porque utilizas la variable Mostrar como paso por valor?
La verdad es nunca he entendido la diferencia entre paso por referencia y paso por valor en que casos aplicar cada una?



(la verdad... se quedo por "costumbres antiguas") el ejemplo es un re-post a consulta similar de bastante tiempo atras :D
(hasta donde se) la diferencia entre pasar argumentos ByVal o ByRef (siendo ByRef el pase por omision si se omite)...
es que al pasarlas ByRef no se puede modificar el valor pasado dentro del procedimiento llamado
(obviamente) al pasarlas ByVal si seria posible su modificacion (aunque este metodo podria ocupar de mas memoria) :-((
y tiene significados diferentes cuando se aplica a objetos de la coleccion de MS-Forms

todo esto viene explicado en la ayuda en linea de vba-excel {F1}, por si lo quieres verificar
consulta acerca del tema: "transferir argumentos eficientemente" ;)

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