Macro auto-open en libro excel.

04/09/2003 - 17:34 por bernalko | Informe spam
Dado el nivel tan alto que hay en este Foro, me he decidido a
exponeros mi situación, a ver qué soluciones me podéis ofrecer.
Dispongo de una macro (pgprint) en un libro nuevo (pgprint.xls) para
imprimir de forma personalizada. En la barra de menús de Excel he
creado un botón(smile) que apunta a esta macro (pgprint), de forma que
se ejecuta cada vez que pulso el botón.
Dado el éxito, he decidido compartir esta macro con mis compañeros,
permitiéndoles ejecutarla de una manera sencilla: simplemente con
abrir el fichero (pgprint.xls).

Así que he creado un procedimiento workbook_open() en el mismo libro,
apuntando a la macro (pgprint); de manera que cada vez que abren el
fichero (pgprint.xls) se ejecuta la macro.
Ahora me encuentro con el problema de que cuando pulso el botón
(smile) se ejecuta la macro ¡2 veces!
-El botón apunta a la macro, y al abrir el fichero se ejecuta
workbook_open() que apunta al mismo sitio-

¿Cómo podría evitar esta situación, manteniendo el acceso mediante
botón y al abrir el fichero?

Gracias por vuestro interés.

-Koldo-
 

Leer las respuestas

#1 Héctor Miguel
05/09/2003 - 04:16 | Informe spam
¿Que tal, chicos?

... macro (pgprint) en un libro ... (pgprint.xls) para imprimir de forma personalizada.
... boton ... macro ... se ejecuta cada vez que pulso [...]
... compartir ... macro ... ejecutarla ... simplemente ... abrir el fichero ... workbook_open() [...]
... problema ... pulso el botón ... se ejecuta la macro ¡2 veces! [...]

Leonardo V. escribió en el mensaje
... copia tu macro en el archivo personal de Excel [...]





==> La "doble" ejecucion (probablemente) "ocurre" SOLO la 1a vez que se pulsa el boton (si el libro [pgprnt] esta cerrado).
las "siguientes" ocasiones (o estando ya abierto el libro) "debiera" suceder solo una vez ... ¿podrias confirmarlo?
La razon: UNA por la "llamada" a la macro (por el boton) Y UNA MAS por el evento _Open del libro :\
Soluciones?:
-o- QUITAR la "llamada" a la macro en el evento _Open
-o- (como dice Leonardo): Copiar la macro al libro "Personal.xls" y "apuntar" el boton a la "nueva" localizacion
Nota: => "tendrias que" copiarla al libro "Personal.xls" DE CADA USUARIO [o "crearselo" si no existe]
-o- Convertir el libro en un complemento (.XLA) + "Instalarlo" + "apuntar" la macro a su "nueva" localizacion ...
... + QUITAR la "llamada" a la macro en el evento _Open
_______
Saludos,
Héctor.
MS-MVP

Preguntas similares