¿Indice qué identifique diferentes ventanas de Excel?

Buenas! Espero que me puedas ayudar... Vengo dando vueltas con éste problemita hace rato. Mi pregunta es la siguiente:
Tengo un archivo creado en Project que ejecuta una macro (MacroA). MacroA se encarga de pasar todos los datos del project a un nuevo Excel (ExcelA), poniéndole el mismo nombre y cambiándole la extensión (el nombre del project es siempre distinto, por lo cual el de ExcelA también).
Al final, la MacroA abre éste archivo que creó y también otro excel (ExcelB) que contiene otra macro (MacroB) que se ejecuta automáticamente.
Entonces, MacroB lo que hace es darle formato a las diferentes hojas de ExcelA.
Todo ésto funcionaba perfectamente cuando la versión del Project y del Office eran 2003.
El problema es que ahora se migró el Office a 2007, quedando el Project 2003.
Cuando ejecuto MacroA desde el project, se abren ExcelA y ExcelB sin inconvenientes. Pero cuando se ejecuta MacroB para darle formato al ExcelA, me tira error en la línea que pone activo al ExcelA para que las modificaciones se hagan sobre éste.
La linea que utilizaba antes para identificarlo era 'Windows(2). Active'.
El problema es que el nombre del ExcelA siempre es distinto, ya que depende del nombre del Project. Por lo cual, tengo que usar algún índice o alguna cosa así. El error que tira es "Se ha producido el error 9 en tiempo de ejecución: Subíndice fuera del intervalo"
El único índice que acepta es el '1', pero éste es el índice de ExcelB.
¿Cómo podría resolver ésto?
Gracias!
Respuesta
1
Ponle el 0 para ver que sucede. ¿Por qué no instalas el Project 2007 y así evitar incompatibilidades?
El único índice que acepta es el 1. No puedo instalar el project 2007, es un proyecto que sólo va a migrar el paquete Office en una empresa muy grande.
Igualmente, gracias!

1 respuesta más de otro experto

Respuesta
1
Efectivamente en Office 2007 no funciona la instrucción Windows(2). Activate pero hay una que si funciona y es Workbooks(2). Name y en base a eso pones estas instrucciones por delante en la macro del ExcelB:
nombre=Workbooks(2).Name
Windows(nombre). Activate
Espero que te sirva, si es así comenta, puntúa y finaliza la consulta en base a la ayuda recibida.
>Un saludo
>Julio
Gracias por la rápida respuestas!
Probé con esas dos líneas y me sigue tirando el mismo error. El único índice que me acepta es el 1, y este corresponde a ExcelB
¿Se te ocurre alguna otra cosa que pueda probar?
Te comento que probé abriendo solamente ExcelA y ExcelB, sin abrir el project. Usé el índice 1, ejecuté MacroB y funciona perfecto. El problema aparece cuando es el project el que abre los archivos... como que el manejo de los índices es distinto de ésta manera... no se me ocurre por qué...
Pues no se prueba a poner el 3 no sea que este viendo windows 3 ventanas abiertas y cuente también la de Project.
Hazlo y me cuentas.
>Un saludo
>Julio
PD: Yo no utilizo Project
Sólo toma el índice 1.
Lo resolví quitándole automatización a la apertura del ExcelB.
Gracias por las prontas respuestas aunque no me hayan resuelto el problema!
Sale un Muy bien =)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas