Haber, compañeros:
Tengo modificado la funcion RPREVIEW.prg, de manera que cuando me aparece un PREVIEW de un REPORT o PRINT, me aparecen nuevas opciones: Migrar a PDF, migrar a EXCEL.
El problema es que por la propia naturaleza de algunos listados, no es lógico migrarlo a EXCEL porque al ser básicamente textos no tiene sentido pasarlo a una hoja de cálculo. Por ello, me gustaría que al activar el PREVIEW de estos listados, le pudiese pasar algún parámetro que me permita desactivar el botón EXCEL.
¿ Existe esa posibilidad ?
Espero haberme explicado.
Gracias. LOREN.
SysCrtl2, para migrar a EXCEL utilizo la clase TFILESXLS. Es sencilla y facil de usar. Está en el foro. Un ejemplo:
- Code: Select all Expand view
funct lisaforo_excel()
local x,ntasien:=0
cursorwait()
DEFINE XLS FORMAT nFormatFecha PICTURE XLSFORMAT_DATE_1
DEFINE XLS FORMAT nFormat2 PICTURE '#######0000000'
define XLS font letra1 name 'Arial' HEIGHT 9
define XLS font ole name 'ARIAL' HEIGHT 15
XLS oXLS FILE "ListadoAforo.xls" AUTOEXEC
XLS COL 1 WIDTH 7 OF oXLS
XLS COL 2 WIDTH 10 OF oXLS
XLS COL 3 WIDTH 12 OF oXLS
XLS COL 4 WIDTH 5 OF oXLS
XLS COL 5 WIDTH 10 OF oXLS
XLS COL 6 WIDTH 8 OF oXLS
XLS COL 7 WIDTH 7 OF oXLS
XLS COL 8 WIDTH 8 OF oXLS
XLS COL 9 WIDTH 8 OF oXLS
@ 1,1 XLS SAY NEMPRESA OF OXLS FONT OLE
@ 2,1 xls say 'Aforo del Recinto' of oxls font letra1
@ 3,1 xls say 'Distribución del Aforo' of oxls font letra1
@ 5,1 xls say 'Tendido' OF oXLS font letra1 BORDER BORDER_DOWN
@ 5,2 xls say 'Ubicación' OF oXLS font letra1 BORDER BORDER_DOWN
@ 5,3 xls say 'Zona' OF oXLS font letra1 BORDER BORDER_DOWN
@ 5,4 xls say 'Fila' OF oXLS font letra1 BORDER BORDER_DOWN
@ 5,5 xls say 'Números' OF oXLS font letra1 BORDER BORDER_DOWN
@ 5,6 xls say 'NºAsiento' OF oXLS font letra1 BORDER BORDER_DOWN
@ 5,7 xls say 'Jubilado' OF oXLS font letra1 BORDER BORDER_DOWN
@ 5,8 xls say 'Jóvenes' OF oXLS font letra1 BORDER BORDER_DOWN
@ 5,9 xls say 'Puerta' OF oXLS font letra1 BORDER BORDER_DOWN
select 2; aforo->(OrdSetFocus('TZFAFORO')) ; aforo->(DBGOTOP()) ; x:=6
do while .not. eof()
@ x,1 xls say aforo->tendido of oxls font letra1 &&format nformat2
@ x,2 xls say iif(aforo->sol='S','Sol','Sombra') of oxls font letra1
@ x,3 xls say iif(aforo->zona=1,Z1,iif(aforo->zona=2,Z2,iif(aforo->zona=3,Z3,Z4))) of oxls font letra1
@ x,4 xls say iif(fila=0,'',aforo->fila) of oxls font letra1 &&format nformat2
@ x,5 xls say ('Del '+alltrim(str(aforo->numerod))+' al '+alltrim(str(aforo->numeroh))) of oxls font letra1
@ x,6 xls say nasien() of oxls font letra1 &&format nformat2
@ x,7 xls say iif(aforo->jubilado=.t.,' SI','') of oxls font letra1
@ x,8 xls say iif(aforo->jovenes=.t.,' SI','') of oxls font letra1
@ x,9 xls say aforo->acceso of oxls font letra1
ntasien+=nasien()
x++
skip
enddo
@ x+1,5 xls say 'TOTAL:' of oxls font LETRA1
@ x+1,6 xls say ntasiento of oxls font LETRA1 &&format nformat2
SET XLS TO PRINTER HEADER "&ZFecha: &F&C"+nempresa+"&DPágina Nº &P" FOOTER nempresa TOP MARGIN 0.6 BOTTOM MARGIN 0.8 LEFT MARGIN 0 OF oXLS
ENDXLS oXLS
cursorarrow()
aforo->(DBGOTOP()) ; lisar:refresh() ; lisar:gotop()
return