FoxPro/Visual FoxPro - Abrir fichero de Excel existente

   
Vista:

Abrir fichero de Excel existente

Publicado por Juan (71 intervenciones) el 09/07/2014 17:24:57
Buenas tardes, se puede desde foxpro abrir internamente un fichero que ya existe de excel y cambiarle el tamaño de letra a una columna y volver a cerrarlo?.

No me refiero a crearlo con Visual FoxPro, si no que ya estaba creado de antes.

Por ejemplo yo hago:

1
export to prueba.xls type xl5

Y después poder abrirlo para cambiar solo el tamaño de una columna y guardarlo con esa columna cambiada.

Un saludo.
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

Abrir fichero de Excel existente

Publicado por Saul (676 intervenciones) el 09/07/2014 20:53:08
Creo que esto ya la habia contestado Juan..

Pero te lo dejo nuevamente ..

Saludos

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
PRIVATE lcTextFile
lcTextFile = ''
xD = SYS(5)
 
lcTextFile = "C:\Carpeta\Federados_Excel.xlsx"
 
crutinaerroractual = ON("Error")
lhuboerror = .F.
ON ERROR LHUBOERROR = .T.
oexcel = CREATEOBJECT("Excel.Application")
ON Error &cRutinaErrorActual
IF lhuboerror
     nresp = MESSAGEBOX( ;
             "¿Desea generar una lista sin formato?",  ;
             35,  ;
             "Excel NO esta instalado en esta computadora." ;
             )
     IF nresp = 6
          generacsv()
     ENDIF
ELSE
     GeneraHojaElectronica()
ENDIF
RETURN
ENDPROC
 
**Genera un Hoja
PROCEDURE GeneraCSV
 
	carchivo = GETFILE("Hoja excel:XLS", "Libro de compras.", "Grabar", 0)
 
	IF EMPTY(carchivo)
	     = MESSAGEBOX("Debe seleccionar un nombre de archivo.", 64, "Error")
	ELSE
	     COPY TO (carchivo) TYPE XLS
	     = MESSAGEBOX("El archivo fue grabado satisfactoriamente",  0, "")
	ENDIF
ENDPROC
 
 
**
PROCEDURE GeneraHojaElectronica
	WAIT WINDOW NOCLEAR NOWAIT  "Generando Libro Excel, Espere un momento por favor."
 
	oexcel.workbooks.Open(lcTextFile,,.t.)    &&Aqui se abre el archivo
 
	WITH oexcel.worksheets(1)	        &&Aqui  es el Nombre o No. de Hoja en tu lebro excel
	    **Barre toda la Tabla
	     SELECT CulistFede
	     GOTO TOP
	     j = 4			&&Linea Inicial
	     SCAN ALL
	          cj       = ALLTRIM(STR(j, 10, 0))
 
	          .range("A" + cj).value = "'"+Sede
	          .range("B" + cj).value = codigo
	          .range("C" + cj).value = ALLTRIM(nombre)+" "+ALLTRIM(apellido)
	          .range("D" + cj).value = DTOC(fecha_nac)
	          .range("E" + cj).value = edad
 
	          j = j + 1
 
 
	          SELECT CulistFede
	     ENDSCAN
 
	     .range("A1").select()
 
	ENDWITH
	******************FINAL ACUERDO********************
 
 
	oexcel.visible = .T.
	RELEASE oexcel
	WAIT CLEAR
	= MESSAGEBOX("La hoja fue generada satisfactoriamente.", 0, "")
ENDPROC
**

Claro tienes que investigar un poco como grabar, como poner el hancho que quieres en tus columnas etc.
pero no es cosa del otro mundo

Salduos

Sha
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

Abrir fichero de Excel existente

Publicado por Ernesto Hernandez (4632 intervenciones) el 09/07/2014 23:43:19
Cambiar el formato: primero necesitamos especificar el rango de celdas a las cuales les deceamos cambiar el formato, podemos utilizar el comando WITH de Fox asi:
WITH XLSheet.Range("F1:J1")
.Merge
.value='EL TEXTO QUE DESEAMOS MOSTRAR'
.HorizontalAlignment=xlCenter &&Aliniar al centro *
.VerticalAlignment=xlCenter
.Font.Bold=.t.
.Font.Size=14
.Font.Name=’Arial’
ENDWITH


Cambiar el tamaño de una columna:
XLSheet.Columns("A:A").ColumnWidth=19.57

Ajustar el tamaño a todas las columnas:
XLSheet.Columns().AutoFit
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
Imágen de perfil de Yogui

Abrir fichero de Excel existente

Publicado por Yogui (79 intervenciones) el 13/08/2014 21:32:27
Hola Juan :)

lcFile01 = "D:\Users\Mipc\Desktop\prueba.xls" &&Creas un string en donde colocas la ubicación de tu archivo
loExcel = CREATEOBJECT("Excel.Application") &&crear un objeto "loExcel" para poder manipular el excel
loExcel.Workbooks.Open(lcFile01) &&Luego abres el excel
loExcel.visible= .T. &&Para que sea visible, sino el archivo estará abierto pero no visible
loExcel.Windows("prueba.xls").Activate &&Para que se active este libro en caso hayan otros abiertos


Ahora para cambiar el tamaño de una columna haces esto:
loExcel.APPLICATION.COLUMNS("S").ColumnWidth=12 &&O el valor del ancho que quieras; esto cambia el ancho a 12

Y para filas:
loExcel.APPLICATION.ROWS("5").RowHeight=24 &&Idem, esto cambia el alto a la fila 5

Si deseas un conjunto de columnas:
loExcel.APPLICATION.COLUMNS("S:P").ColumnWidth=12
loExcel.APPLICATION.ROWS("5:36").RowHeight=24 &&idem para filas

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