El lun, 21-11-2005 a las 15:44, alejandro Rivas escribió:
> Saludos.
> 
> No se si sea el canal adecuado para la consulta
> siguiente (sobre OOBasis)
> 
> 
> Uso el código siguiente para recuperar el dato de la
> celda B2 en un libro  no abierto.  Tengo que insertar
> la fórmula, y luego capturar el dato para procesarlo. 
> Es decir que necesito tener una hoja abierta para
> poder insertar la fòrmula .
> 
> '--------------------------------------------------------------------------------------------------
> En Staroffice 5.1, lo hago asi:
> 
> Range(B2).Insert(='file:///ARCHIVOS/libro2.sdc'#$hoja1.B2")
> valor=Range(B2).value
> '--------------------------------------------------------------------------------------------------
> 
> 
> '--------------------------------------------------------------------------------------------------
> En Openoffice 115    ( el mismo resultado que las dos
> lineas anteriores ), lo hago asi:
> 
> 'ThisComponent.Sheets.getByName("hoja1").SetCellByposition(1,1).Formula_("='file:///ARCHIVOS/libro2.sxc'#$hoja1.B2")
> 
> createUnoService("com.sun.star.frame.DispatchHelper").executeDispatch_(ThisComponent.CurrentController.Frame,
> ".uno:Calculate", "", 0, Array())
> 
> valor=ThisComponent.getsheets().getbyindex(0).CreateCursorByRange_(ThisComponent.getsheets().getbyindex(0).GetCellbyPOsition(1,1))._
> GetCellbyPOsition(0,0).GetValue()
> 
> '--------------------------------------------------------------------------------------------------
> 
> 
> Bien.....
> 
> Qué linea de código en StarBasic me daría el mismo
> resultado pero que  me permita cargar el dato de una
> vez en una variable de memoria sin tener que abrir una
> hoja solo para eso.
> 
> 
> ' P.D.  Note como en el nuevo Open  se vuelve muy
> cansado la elaboración de código
> 
> Gracias anticipadas
> 
> Alejandro

Alejandro:

Primero, creo que el canal que debieras utilizar es la lista
[EMAIL PROTECTED] Si estás interesado en desarrollo / programación,
te convendría suscribirte a la misma. Pero vamos, que no es la gran
cosa, después de todo.

Creo que la solución a tu problema pasa por cargar el documento al que
haces referencia en un frame oculto, y leer desde allí el valor. Esto
supongo que se realiza implícitamente cuando una fórmula referencia un
valor que se ubica en un archivo distinto del que se está editando.

Revisa el método loadComponentFromURL de la interfaz XComponentLoader,
es bastante sencillo, y la propiedad Hidden del servicio
MediaDescriptor.

Puedo enviarte algún ejemplo si necesitaras, pero veo que te defiendes
bastante bien con la API de UNO, así que supongo que no tendrás
dificultades.

Saludos,

Santiago Bosio.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Responder a