Visual Basic para Aplicaciones - Cargar WB diferente instancia y/o sesión

Life is soft - evento anual de software empresarial
   
Vista:

Cargar WB diferente instancia y/o sesión

Publicado por Ing. Zeus Alberto Paez Renteria (26 intervenciones) el 04/05/2012 00:34:46
Buen Dia a todos

Aqui mi consulta:

Resulta que tengo un Workbook abierto le llamare WB1 y un evento en la computadora dispara un Visual Basic Script que abre un Workbook le llamare WB2 y ejecuta una macro Test1.
*********************** SCRIPT ********************************************
Dim objExcel
Dim objWorkbook
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
set objWorkbook = objExcel.Workbooks.Open("\\Mexmil_mx1\groups\Manufacture\Industrial Engineering\Digital Engineering\Cotizaciones\BOEING\Cotización Boeing\Small Quotation.xls")
objExcel.Run "'Small Quotation.xls'!Test1"
***************** FIN SCRIPT ************************************************

La resulta que en la macro (Test1) trato de cargar el Workbook (WB1), pero no puedo visualizarlo, pues el codigo(Test1) del WB2 no detecta el WB1.

Este es el codigo
Sub Test1()
Dim wb As Workbook
For Each wb In Application.Workbooks
Msgbox wb.name
Next wb
End Sub

Asi tenemos dos workbooks abiertos, uno que abrio el usuario (WB1) y otro que abrio el SCRIPT (WB2), el WB2 no puede mediante la rutina Test1 cargar por ejemplo el nombre del WB1, mi idea es que estan en diferente instancia y/o sesion, si fuera el caso alguien tiene idea de como cargarlos, hasta ahorita lo unico que se me ocurre es usar las funciones de Windows API (hwnd) y con el hwnd de la aplicacion tomar el workbook pero se me hace mucho codigo para hacer esto.
supongo que existe algo mas sencillo.

A mi entender el codigo Test1 deberia mostrar en un mensaje los nombre de los dos Workbooks abiertos, ya lo he probado en otras ocasiones y si lo hace, pero al parecer aplica solo cuando desde un workbook abres otro.

Gracias
Atte. Ing. Zeus Alberto Paez Renteria
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

Cargar WB diferente instancia y/o sesión

Publicado por JuanC juanc2942@gmail.com (431 intervenciones) el 04/05/2012 21:10:41
es muy probable que los libros estén abiertos en diferentes instancias de Excel y que por
eso no lo encuentre
en lugar de CreateObject("Excel.Application")
podrías usar GetObject("Excel.Application") ???

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar