Ejecución automática de una macro en un libro excel

31/10/2009 - 21:56 por miguel angel | Informe spam
Estimados amigos:
Tengo una macro grabada en un libro1.xls, que quiero que se me ejecute
automáticamente al abrir el libro.
La verdad es que el libro lo voy a abrir desde una llamada de Access,
pero quiero que lo que va a hacer excel sea transparente para el
usuario, por eso quiero que al abrirse el libro se ejecute la macro.

Gracias de antemano.

Preguntas similare

Leer las respuestas

#1 Gustavo Marinoni
01/11/2009 - 02:31 | Informe spam
Hola Miguel Angel,

Para que la macro se ejecute automaticamente al abrir el archivo lo tienes
que poner en el evento Workbook_Open en la clase "ThisWorkbook" o puedes
llamar el procedumiento auto_open en un modulo comun.

Saludos,
Gustavo
http://masexcel.blogspot.com

¡Importante!: Colabora con el grupo.Contesta a este mensaje
y dinos si te sirvió o no la respuesta dada. Muchas gracias.



"miguel angel" escribió:

Estimados amigos:
Tengo una macro grabada en un libro1.xls, que quiero que se me ejecute
automáticamente al abrir el libro.
La verdad es que el libro lo voy a abrir desde una llamada de Access,
pero quiero que lo que va a hacer excel sea transparente para el
usuario, por eso quiero que al abrirse el libro se ejecute la macro.

Gracias de antemano.
.

Respuesta Responder a este mensaje
#2 Héctor Miguel
01/11/2009 - 04:23 | Informe spam
hola, miguel angel !

Tengo una macro grabada en un libro1.xls, que quiero que se me ejecute automaticamente al abrir el libro.
La verdad es que el libro lo voy a abrir desde una llamada de Access
pero quiero que lo que va a hacer excel sea transparente para el usuario
por eso quiero que al abrirse el libro se ejecute la macro.



convendria conocer algunos detalles adicionales (de preferencia, +/- exactamente) p.e.

vas a establecer en tu proyecto de access referencias a la libreria de objetos de excel ?
(de esta forma puedes usar constantes de excel "por nombre", de lo contrario debe ser por numero, o sea...)

como piensas instanciar excel desde access ?
- usar algun excel ya abierto con un getobjet(... ?
- abrir un excel exclusivo para tu aplicacion con un createobject(... ?

para que version/es de excel esperas dar soporte ?
- dependiendo de esto, pudiera (NO) ser suficiente usar procedimientos/eventos de apertura

despues de terminados los procesos (en excel)...
- quieres dejar excel a disposicion del usuario ?, o prefieres un mayor control desde access ?

saludos,
hector.
Respuesta Responder a este mensaje
#3 Knight99
01/11/2009 - 09:03 | Informe spam
Héctor Miguel escribió:
hola, miguel angel !

Tengo una macro grabada en un libro1.xls, que quiero que se me ejecute automaticamente al abrir el libro.
La verdad es que el libro lo voy a abrir desde una llamada de Access
pero quiero que lo que va a hacer excel sea transparente para el usuario
por eso quiero que al abrirse el libro se ejecute la macro.



convendria conocer algunos detalles adicionales (de preferencia, +/- exactamente) p.e.

vas a establecer en tu proyecto de access referencias a la libreria de objetos de excel ?
(de esta forma puedes usar constantes de excel "por nombre", de lo contrario debe ser por numero, o sea...)

como piensas instanciar excel desde access ?
- usar algun excel ya abierto con un getobjet(... ?
- abrir un excel exclusivo para tu aplicacion con un createobject(... ?

para que version/es de excel esperas dar soporte ?
- dependiendo de esto, pudiera (NO) ser suficiente usar procedimientos/eventos de apertura

despues de terminados los procesos (en excel)...
- quieres dejar excel a disposicion del usuario ?, o prefieres un mayor control desde access ?

saludos,
hector.





Buenos días (por aquí) Hector:

Te cuento. No voy a llamar a objetos de excel desde access; para mi
proyecto sólo necesito que Excel me haga el "trabajo sucio", como se
suele decir. Para eso ya he grabado una macro, con todo lo que tiene que
hacer con un fichero determinado.

Determinados ficheros de los que me genera el Host de mi empresa me dan
problemas desde Access (cosa que no entiendo, pero es así). Aunque los
veo perfectamente con un editor de texto, algunos no puedo importarlos
correctamente. Sé que los informáticos de host emplean a veces distintos
tipos de 'empaquetado', no sé si irán por ahí los tiros.
El caso es que Excel los abre bien, y mi intención para el usuario final
es que excel se encargue de abrir dichos ficheros, que convierta al tipo
de dato correcto lo que necesito y luego lo guarde de una forma
concreta, para luego desde access hacer la importación sin problemas.

No quiero programar, ya que los usuarios finales no saben vba.

Desde Access abriré el libro usando la instrucción correspondiente de la
macro "Ejecutar aplicación" donde en la línea de comando pongo el nombre
de la aplicación a ejecutar (en este caso excel) con el libro que tiene
que abrir (ese libro siempre se llama igual, y lo único que tiene es una
macro que me abre y me trata un fichero de texto, para luego guardar
dicho fichero de texto con otro nombre y ya en formato excel).

Luego, lo único que tengo que hacer para finalizar es que la macro que
tengo en access me importe el fichero excel, con lo que todo está resuelto.

No sé si con todo este rollo te lo he dejado claro.

Por lo demás que me preguntas, aunque la versión de excel que tenemos es
la 2007, trabajamos con ella siempre en formato de compatibilidad con
las anteriores. Por el contrario el access que tendrá la aplicación
principal trabaja de forma predefinida como si fuera la versión 2000.

Tanto los 2 excel (el que tendrá la macro que me haga el tratamiento del
fichero, como el resultante de dicho tratamiento) quedarán en una ruta
determinada, pero no será necesario, por el usuario, tratarlos, ya que
el que tiene la macro sólo será necesario tocarlo cuando haya que
modificar la macro y el otro sólo servirá de soporte a la importación en
access.

Un saludo.
Respuesta Responder a este mensaje
#4 Héctor Miguel
01/11/2009 - 09:43 | Informe spam
hola, (miguel angel ?) !

dices que no quieres programar... pero hablas de una macro "Ejecutar aplicacion" (???)
podrias transcribir el codigo de esa macro ?

saludos,
hector.
Respuesta Responder a este mensaje
#5 Knight99
01/11/2009 - 21:38 | Informe spam
Héctor Miguel escribió:
hola, (miguel angel ?) !

dices que no quieres programar... pero hablas de una macro "Ejecutar aplicacion" (???)
podrias transcribir el codigo de esa macro ?

saludos,
hector.




El código de la macro en excel lo genero con la propia grabadora, para
ahorrar tiempo. No creo que merezca la pena copiarlo porque lo único que
hace es abrir un fichero de texto, cuyos campos están delimitados con el
símbolo de la barra invertida (/), luego una serie de columnas las
formateo en fechas y guardo el archivo resultante ya como excel.

Desde access, con la macros, uno de los comandos del desplegable de
acciones con el que puedo jugar, se llama "EjecutarAplicacion", que es
el que uso para lanzar excel y abrir el fichero donde he grabado la
macro que me trata el fichero de texto. Todo funciona bien, lo que no
quiero es que el usuario final, una vez que haya abierto excel, tenga
que ejecutar él manualmente la macro que abre, ajusta y convierte el
fichero de texto (podría hacerlo con la opción ejecutar macro o con la
combinación de teclas abreviadas que le he puesto).

Mi intención es que, cuando se abra la hoja de cálculo excel, se ejecute
automáticamente la macro que he grabado en ella (la que trata el fichero
de texto).

Un saludo Héctor.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida