Queridos Amigos.. Necesito por favor ejemplos de automatización de Excel desde Visual Foxpro que incluya centrar textos, adicionar marcos a un rango de celdas, combinar celdas, cambiar orientación texto, centrar entre rango de fechas imprimir, etc. Gracias... Moisés Rodríguez (ElZorroMoises) <[email protected]>
El siguiente código... Te puede dar algunas ideas. *---Creación de Página en Excel Tomando Datos de una Tabla---* *---Devilzito---* *---Euro-Line Panamericana ---* *--- 27-Abril-2004 ---* **Si la Pc no tiene Excel** on error do maneja with error() **-----------------------** local OBJXLS, IMAGXLS, OBJSELEC,LINEA,CONTADOR,CADENA_SUMA,FOB,TOTAL_CIF #DEFINE IMAGXLS "F:\RECIBO_BODEGA\DIBUJO.BMP" #DEFINE LINEA 13 #DEFINE Prepara "Abdiel Prout" #DEFINE Empresa "Euro-line Panamericana (Panamá S.A.)" OBJXLS=CREATEOBJECT("EXCEL.APPLICATION") WITH OBJXLS .WORKBOOKS.ADD() *-Definiendo Orientación Y Tamaño de la Página-* .activeworkbook.activesheet.pagesetup.orientation=2 &&Landscape .activeworkbook.activesheet.pagesetup.papersize=5 && 81/2 * 14 *----------------------------------- *-Definiendo Ancho de las columnas-* .Columns("A:A").ColumnWidth = 17.29 .Columns("B:B").ColumnWidth = 9.71 .Columns("C:C").ColumnWidth = 12.43 .Columns("D:D").ColumnWidth = 8.29 .Columns("E:E").ColumnWidth = 11.71 .Columns("F:F").ColumnWidth = 8.86 .Columns("G:G").ColumnWidth = 11.14 .Columns("H:H").ColumnWidth = 22.43 .Columns("I:I").ColumnWidth = 12.86 *----------------------------------- *-Insertando Logo de Euro-Line y haciendo visible la hoja de Excel* .Range("A2").Select .ActiveSheet.Pictures.Insert(IMAGXLS).Select .VISIBLE=.T. *----------------------------------- *-Insertando Encabezados Generales* .Range("A6").Select OBJSELEC=.SELECTION() WITH OBJSELEC.FONT .BOLD=.T. .NAME="TIMES" .SIZE="16" ENDWITH *---Buscando el nombre del Cliente---* select clienzlc set order to cuenta seek thisform.combo1.value .ActiveCell.FormulaR1C1 = "Reporte de mercancías en bodega para "+clienzlc.cliente set order to cliente *----------------------------------- .Range("A8").Select OBJSELEC=.SELECTION() WITH OBJSELEC.FONT .NAME = "ARIAL" .BOLD=.T. .SIZE=8 ENDWITH .ActiveCell.FormulaR1C1 = date() *_--Lineas de Arriba--_* .Range("A10:I10").Select OBJSELEC=.SELECTION() WITH OBJSELEC .BORDERS(4).LineStyle=3 .BORDERS(4).Weight=3 .BORDERS(4).ColorIndex=1 ENDWITH *___________________* .Range("A11:I12").Select OBJSELEC=.SELECTION() WITH OBJSELEC.FONT .BOLD=.T. .NAME="Arial" .SIZE="8" ENDWITH .ActiveCell.FormulaR1C1 = "Suplidor" .Range("B11").Select .ActiveCell.FormulaR1C1 = "Factura No" .Range("C11").Select .ActiveCell.FormulaR1C1 = "Fecha de " .Range("C12").Select .ActiveCell.FormulaR1C1 = "Recepción" .Range("D11").Select .ActiveCell.FormulaR1C1 = "Bultos" .Range("E11").Select .ActiveCell.FormulaR1C1 = "Peso" .Range("E12").Select .ActiveCell.FormulaR1C1 = "Declarado" .Range("F11").Select .ActiveCell.FormulaR1C1 = "Cubicaje" .Range("F12").Select .ActiveCell.FormulaR1C1 = "m3" .Range("G11").Select .ActiveCell.FormulaR1C1 = "Valor" .Range("G12").Select .ActiveCell.FormulaR1C1 = "USD" .Range("H11").Select .ActiveCell.FormulaR1C1 = "Tipo de " .Range("H12").Select .ActiveCell.FormulaR1C1 = "Mercancía" *_--Lineas de Abajo--_* .Range("A12:I12").Select OBJSELEC=.SELECTION() WITH OBJSELEC .BORDERS(4).LineStyle=3 .BORDERS(4).Weight=3 .BORDERS(4).ColorIndex=1 ENDWITH *___________________* *----------------------------------- *-Colocando valores de la Tabla* select paty go top store 0 to contador do while not eof() .Range("A"+ALLTRIM(STR(LINEA+contador))).Select .ActiveCell.FormulaR1C1 = paty.nombre_sup .Range("B"+ALLTRIM(STR(LINEA+contador))).Select .ActiveCell.FormulaR1C1 = ALLTRIM(paty.no_fac_sup) .Range("C"+ALLTRIM(STR(LINEA+contador))).Select .ActiveCell.FormulaR1C1 = paty.fecha .Range("D"+ALLTRIM(STR(LINEA+contador))).Select .ActiveCell.FormulaR1C1 = paty.num_piezas .Range("E"+ALLTRIM(STR(LINEA+contador))).Select .ActiveCell.FormulaR1C1 = paty.kgs_bruto .Range("F"+ALLTRIM(STR(LINEA+contador))).Select .ActiveCell.FormulaR1C1 = paty.vol_m3 .Range("G"+ALLTRIM(STR(LINEA+contador))).Select .ActiveCell.FormulaR1C1 = paty.valor_usd .Range("H"+ALLTRIM(STR(LINEA+contador))).Select .ActiveCell.FormulaR1C1 = paty.tipo_merc contador = contador + 1 skip enddo go top .Range("A"+ALLTRIM(STR(LINEA))+":"+"H"+ALLTRIM(STR(LINEA+contador))).Select OBJSELEC=.SELECTION() WITH OBJSELEC.FONT .BOLD=.T. .NAME="Times" .SIZE="8" ENDWITH *-Totales-* .Range("D"+ALLTRIM(STR(LINEA+contador+2))+":"+"G"+ALLTRIM(STR(LINEA+contador+2))).Select OBJSELEC=.SELECTION() WITH OBJSELEC .BORDERS(4).LineStyle=3 .BORDERS(4).Weight=3 .BORDERS(4).ColorIndex=1 ENDWITH .Range("D"+ALLTRIM(STR(LINEA+contador+2))).Select .ActiveCell.FormulaR1C1 = "=SUM(R[-"+alltrim(str(contador+2))+"]C:R[-2]C)" .Range("E"+ALLTRIM(STR(LINEA+contador+2))).Select .ActiveCell.FormulaR1C1 = "=SUM(R[-"+alltrim(str(contador+2))+"]C:R[-2]C)" .Range("F"+ALLTRIM(STR(LINEA+contador+2))).Select .ActiveCell.FormulaR1C1 = "=SUM(R[-"+alltrim(str(contador+2))+"]C:R[-2]C)" .Range("G"+ALLTRIM(STR(LINEA+contador+2))).Select .ActiveCell.FormulaR1C1 = "=SUM(R[-"+alltrim(str(contador+2))+"]C:R[-2]C)" .Range("G"+ALLTRIM(STR(LINEA+contador+2))).Select OBJSELEC=.SELECTION() OBJSELEC.NUMBERFORMAT="$#,##0.00" *---Dando Formato a las Celdas que quedaron mal---* .Range("B13"+":"+"B"+ALLTRIM(STR(LINEA+contador))).Select OBJSELEC=.SELECTION() OBJSELEC.HORIZONTALALIGNMENT=4 .Range("G13"+":"+"G"+ALLTRIM(STR(LINEA+contador))).Select OBJSELEC=.SELECTION() OBJSELEC.NUMBERFORMAT="$#,##0.00" *_________________________________________________* .range("A1").select Endwith
Muchisimas Gracias, eso era lo que estaba buscando.. si tienes otros comandos para centrado en varias celdas a la vez, justificación de texto y combinación de texto te lo agradezco