FoxPro/Visual FoxPro - colorear celdas

 
Vista:
sin imagen de perfil

colorear celdas

Publicado por eduardo (139 intervenciones) el 19/09/2008 00:33:11
se que desde fox puedo grabar datos a una planilla de excel en celdas en una determinada ubicacion.se puede ademas ,aplicarle color a una celda segun una condicion? ej: si el valor es < a 0 ponerle rojo de fondo?

gracias
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

RE:colorear celdas

Publicado por HELDER MARTINEZ (711 intervenciones) el 19/09/2008 00:52:58
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
oExcel = CreateObject("Excel.Sheet")
oExcel.application.visible=.T.
oExcel.application.WorkBooks.Add()
oExcel = oExcel.application.Sheets[1]
 
oExcel.application.Rows(1).Font.Bold = .t.
oExcel.application.Rows(4).Font.Bold = .t.
 
oExcel.application.Rows(1).Font.color = rgb(0,0,255)
oExcel.application.Rows(4).font.Color = rgb(0,0,255)
 
oExcel.Cells(1,1).Value = ALLTRIM(Thisform.txtCurso.value)
oExcel.Cells(1,2).Value = ALLTRIM(Thisform.txtCarrera.value)
oExcel.Cells(1,4).Value = ALLTRIM(Thisform.txtJornada.value)
 
oExcel.Cells(4,1).Value = "CODIGO"
oExcel.Cells(4,2).Value = "NOMBRE"
oExcel.Cells(4,3).Value = "APELLIDO"
oExcel.Cells(4,4).Value = "SEXO"
oExcel.Cells(4,5).Value = "Sección"
 
oExcel.application.Columns(1).ColumnWidth = 20
oExcel.application.Columns(2).ColumnWidth = 30
oExcel.application.Columns(3).ColumnWidth = 30
oExcel.application.Columns(4).ColumnWidth = 6
oExcel.application.Columns(5).ColumnWidth = 8
 
oExcel.application.Columns(1).NumberFormat = "@"
 
for i = 1 to _TALLY
    oExcel.Cells(i+4,1).Value = _AExcel(i,1)
    oExcel.Cells(i+4,2).Value = _AExcel(i,2)
    oExcel.Cells(i+4,3).Value = _AExcel(i,3)
    oExcel.Cells(i+4,4).Value = _AExcel(i,4)
    oExcel.Cells(i+4,5).Value = _AExcel(i,5)
endfor
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

colorear celdas

Publicado por hector (1 intervención) el 13/07/2020 19:09:14
Por si le interesa a alguien, esta rutina coloca color a una celda teniendo en cuenta una condicional, desde automatizacion de foxpro a excel.

** guardar el archvio que vas a crear para guardar el resultado

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
gcFile = PUTFILE("Guardar como: ","","xls")
 
IF EMPTY(gcFile)  && Esc pressed
   CANCEL
ENDIF
 
COPY TO (gcFile) TYPE XLS fields numero
&& Create delimited file
 
oLibro = CREATEOBJECT("Excel.Application")
 
oLibro.WorkBooks.open(gcFile)
oLibro.Sheets(1).Name = "Totales"
 
olibro.Visible = .t.
 
nCelda = 1
Scan
     if olibro.Cells(ncelda,1).Value ="1"
		oLibro.cells(ncelda,1).Interior.Color = RGB(255,0,0)
    endif
 
     if olibro.Cells(ncelda,1).Value ="2"
		oLibro.cells(ncelda,1).Interior.Color = RGB(255,255,0)
    endif
 
     if olibro.Cells(ncelda,1).Value ="3"
		oLibro.cells(ncelda,1).Interior.Color = RGB(0,128,0)
    endif
 
 nCelda = nCelda + 1
 ?ncelda
EndScan
 
if olibro.Cells(ncelda,1).Value ="1"
   oLibro.cells(ncelda,1).Interior.Color = RGB(255,0,0)
endif
 
if olibro.Cells(ncelda,1).Value ="2"
   oLibro.cells(ncelda,1).Interior.Color = RGB(255,255,0)
endif
 
if olibro.Cells(ncelda,1).Value ="3"
   oLibro.cells(ncelda,1).Interior.Color = RGB(0,128,0)
endif

La verdad es que es sencillo, pero utilice como 5 dias para completar la rutina, espero les sirva.
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