Page 1 of 1

XBrowse a Excel o a Calc

PostPosted: Sat Sep 10, 2022 2:20 pm
by FiveWiDi
Hola a todos,

Cómo puedo forzar que un XBrowse pueda volcar su información sin usar Excel? Es decir que lo envie a Calc.

Muchas gracias,

Re: XBrowse a Excel o a Calc

PostPosted: Sat Sep 10, 2022 4:45 pm
by cmsoft
Puedes usar el medoto ToCalc
Code: Select all  Expand view
oBrw:ToCalc( bProgress, nGroupBy, nPasteMode, aSaveAs, aCols )

Re: XBrowse a Excel o a Calc

PostPosted: Sat Sep 10, 2022 9:15 pm
by FiveWiDi
cmsoft wrote:Puedes usar el medoto ToCalc
Code: Select all  Expand view
oBrw:ToCalc( bProgress, nGroupBy, nPasteMode, aSaveAs, aCols )


Gracias César, pero no es esto lo que persigo.

Cuando en un XBrowse pulsas el botón derecho en una celda, se muestra un menú popup que permite generar un report o un XLS.

Entiendo que el XBrowse atendiendo al valor de las variables "STATIC lExcelInstl, lCalcInstl" definidas en XBROWSE.PRG, dirigirá la respuesta a Excel o a Calc; yo deseo forzar que la respuesta vaya a Calc sin tener que llamar manualmente al método que indicas.

El caso es que no encuentro como setear esas variables y forzar su comportamiento.

Muchas gracias,

Re: XBrowse a Excel o a Calc

PostPosted: Sat Sep 10, 2022 10:30 pm
by FiveWiDi
Lo tengo (supongo):

1º En la aplicación debo programar si deseo trabajar con Excel o Calc, lo capturo mediante una variable.

2º Según el valor de la variable, si ésta indica que deseo con Calc, entonces después de definir XBrowse debo indicar:

If lQuieroCalc
bDummyBloc := { | oBrw, bProgress, nGroupBy, aCols | ( oBrw:bToExcel := Nil, oBrw:ToCalc( bProgress, nGroupBy,,, aCols ), oBrw:bToExcel := bDummyBloc ) }
oMiwBrowse:bToExcel := { | oBrw, bProgress, nGroupBy, aCols | ( oBrw:bToExcel := Nil, oBrw:ToCalc( bProgress, nGroupBy,,, aCols ), oBrw:bToExcel := bDummyBloc ) }
EndIf

Es importante indicar "oBrw:bToExcel := Nil", por que si en el ordenador no está instalado realmente OpenOffice, entraría en bucle y ... crashhhhh

Parece que funciona.
Haré más pruebas.

Muchas gracias