Color de celdas (filas y columnas) en la clase FILEXLS

Color de celdas (filas y columnas) en la clase FILEXLS

Postby JmGarcia » Fri Feb 01, 2008 3:54 pm

Pues eso.
¿ Se puede dar color a una fila con la clase TFileXLS ?
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Postby pymsoft » Fri Feb 01, 2008 5:43 pm

JmGarcia,


Prueba esto:


oHoja:Rows( "2:4" ):Interior:Color := RGB( 244, 249, 198)
oHoja:Cells( nRow, nCol ):Font:Bold := .T.
oHoja:Cells( nRow, nCol ):Font:Color := CLR_RED
oHoja:Rows(nRow):Interior:Color := CLR_HCYAN


Saludos
Pedro Gonzalez
User avatar
pymsoft
 
Posts: 383
Joined: Tue Oct 11, 2005 1:01 pm
Location: Savona - Italia

Postby JmGarcia » Mon Feb 04, 2008 3:31 pm

He probado todas las formas y en todas me da este error en ejecucion:
ARGUMENT ERROR
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Postby pymsoft » Mon Feb 04, 2008 3:44 pm

JmGarcia,

Escribe parte del codigo de como lo haces...


Saludos
Pedro Gonzalez
User avatar
pymsoft
 
Posts: 383
Joined: Tue Oct 11, 2005 1:01 pm
Location: Savona - Italia

Postby JmGarcia » Mon Feb 04, 2008 4:51 pm

Code: Select all  Expand view  RUN
#include "FiveWin.ch"
#include "FileXLS.ch"
function Main(cFicheroTXT)
local oFileXLS,cFichXLS:=cFicheroTXT+".xls",Indice:=0
XLS oFileXLS FILE &cFichXLS AUTOEXEC
Indice:=1
@ Indice, 1 XLS SAY "COMUN/CR-CO/CA-CO" OF oFileXLS
@ Indice, 2 XLS SAY "HORA"              OF oFileXLS
@ Indice, 3 XLS SAY "FECHADO"           OF oFileXLS
@ Indice, 4 XLS SAY "NUMERO"            OF oFileXLS
hFichero:=fopen(cFicheroTXT)
do while .not. feof(hFichero)
   cLinea:=freadline(hFichero)
   cTipo:=alltrim(right(cLinea,5))
   Indice:=Indice+1
   @ Indice, 1 XLS SAY cTipo OF oFileXLS
   @ Indice, 2 XLS SAY val(substr(cLinea,  1,8)) OF oFileXLS FORMAT "#######0"
   @ Indice, 3 XLS SAY val(substr(cLinea, 10,8)) OF oFileXLS FORMAT "#######0"
   @ Indice, 4 XLS SAY val(substr(cLinea, 19,4)) OF oFileXLS FORMAT "###0"
enddo
fclose(hFichero)
ENDXLS oFileXLS
return nil
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Postby FiveWiDi » Mon Feb 04, 2008 5:07 pm

JmGarcia wrote:
Code: Select all  Expand view  RUN
#include "FiveWin.ch"
#include "FileXLS.ch"
function Main(cFicheroTXT)
local oFileXLS,cFichXLS:=cFicheroTXT+".xls",Indice:=0
XLS oFileXLS FILE &cFichXLS AUTOEXEC
Indice:=1
@ Indice, 1 XLS SAY "COMUN/CR-CO/CA-CO" OF oFileXLS
@ Indice, 2 XLS SAY "HORA"              OF oFileXLS
@ Indice, 3 XLS SAY "FECHADO"           OF oFileXLS
@ Indice, 4 XLS SAY "NUMERO"            OF oFileXLS
hFichero:=fopen(cFicheroTXT)
do while .not. feof(hFichero)
   cLinea:=freadline(hFichero)
   cTipo:=alltrim(right(cLinea,5))
   Indice:=Indice+1
   @ Indice, 1 XLS SAY cTipo OF oFileXLS
   @ Indice, 2 XLS SAY val(substr(cLinea,  1,8)) OF oFileXLS FORMAT "#######0"
   @ Indice, 3 XLS SAY val(substr(cLinea, 10,8)) OF oFileXLS FORMAT "#######0"
   @ Indice, 4 XLS SAY val(substr(cLinea, 19,4)) OF oFileXLS FORMAT "###0"
enddo
fclose(hFichero)
ENDXLS oFileXLS
return nil


Con esta clase no puedes usar directamente FORMAT "###0", sino que primero debes declarar el formato que deseas usar:

#xcommand DEFINE XLS FORMAT <nFormat> ;
[ PICTURE <cPicture> ] ;
=> ;
<nFormat> := XLSFormat( <cPicture> )

DEFINE XLS FORMAT n4SinDecimales "###0"

y despues usar:

@ Indice, 4 XLS SAY val(substr(cLinea, 19,4)) OF oFileXLS FORMAT n4SinDecimales

siendo n4SinDecimales una variable numérica de tu función.

Saludos
Carlos G.
FiveWiDi
 
Posts: 1200
Joined: Mon Oct 10, 2005 2:38 pm

Postby JmGarcia » Mon Feb 04, 2008 5:24 pm

FiveWiDi wrote:Con esta clase no puedes usar directamente FORMAT "###0", sino que primero debes declarar el formato que deseas usar:

#xcommand DEFINE XLS FORMAT <nFormat> ;
[ PICTURE <cPicture> ] ;
=> ;
<nFormat> := XLSFormat( <cPicture> )

DEFINE XLS FORMAT n4SinDecimales "###0"

y despues usar:

@ Indice, 4 XLS SAY val(substr(cLinea, 19,4)) OF oFileXLS FORMAT n4SinDecimales

siendo n4SinDecimales una variable numérica de tu función.

Saludos
Carlos G.


Es que como tengo "tantos formatos" no me parecio conveniente usar variables y me funciona de esa forma que he puesto yo :oops:

Pero a parte de eso (que lo cambiare) ¿ como añado COLOR a las celdas ?
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Postby pymsoft » Tue Feb 05, 2008 9:50 am

No uso esta clase, pero prueba asi:


oFileXLS:Get( "ActiveSheet" ):Rows( "2:4" ):Interior:Color := RGB( 244, 249, 198)


Saludos
Pedro Gonzalez
User avatar
pymsoft
 
Posts: 383
Joined: Tue Oct 11, 2005 1:01 pm
Location: Savona - Italia

Postby FiveWiDi » Tue Feb 05, 2008 11:19 am

JmGarcia wrote:
FiveWiDi wrote:Con esta clase no puedes usar directamente FORMAT "###0", sino que primero debes declarar el formato que deseas usar:

#xcommand DEFINE XLS FORMAT <nFormat> ;
[ PICTURE <cPicture> ] ;
=> ;
<nFormat> := XLSFormat( <cPicture> )

DEFINE XLS FORMAT n4SinDecimales "###0"

y despues usar:

@ Indice, 4 XLS SAY val(substr(cLinea, 19,4)) OF oFileXLS FORMAT n4SinDecimales

siendo n4SinDecimales una variable numérica de tu función.

Saludos
Carlos G.


Es que como tengo "tantos formatos" no me parecio conveniente usar variables y me funciona de esa forma que he puesto yo :oops:

Pero a parte de eso (que lo cambiare) ¿ como añado COLOR a las celdas ?


Creo que con esta clase no puedes dar color.
Si lo averiguas me lo dices, yo tengo el mismo problema y aunque evidentemente no es lo mismo, lo que hago es jugar con los tipos de letra y los marcos de las celdas.

Esta clase escribe un fichero en formato Excel ¿1.2? de manera que puedes usarla aunque no tenga ningún programa que pueda abrir el fichero.
Esto y que no abre/precisa Excel es quizás la única ventaja que le veo.

Además, hace poco descubrí que enviaba el fichero por mail y uno de los destinatarios tenía antivirus PANDA y lo identificaba como INFECTADO, evidentemente era un error del antivirus que ¿quizás no contemplaba formatos de ficheros tan antíguos?

Saludos
Carlos G.
FiveWiDi
 
Posts: 1200
Joined: Mon Oct 10, 2005 2:38 pm

Postby JmGarcia » Tue Feb 05, 2008 4:00 pm

pymsoft wrote:oFileXLS:Get( "ActiveSheet" ):Rows( "2:4" ):Interior:Color := RGB( 244, 249, 198)
Es lo que me imaginaba, pymsoft, lo usas con ActiveX.
En las maquinas que correra la utilidad que estoy haciendo NO tiene Office, de hay use TFileXLS.
El no tenen Office es porque solo se usan con programas de servicio y de control de procesos y unas cuantas licencias de Office valen una pasta.

FiveWiDi wrote:Creo que con esta clase no puedes dar color.
Pues mi pozo en un gozo...


P.D.: ¡¡¡ Ramón Avendaño !!! por favor, un poco de color a tu "clase".
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 19 guests