Estimado
#define xlThemeColorDark2 3
#define xlEdgeLeft 7
#define xlEdgeTop 8
#define xlEdgeBottom 9
#define xlEdgeRight 10
#define xlThemeColorAccent2 6
#define xlThemeColorAccent1 5
#define xlThemeColorAccent5 9
#define xlRight -4152
#define xlDiagonalUp 6
#define xlDiagonalDown 5
#define xlThin 2
#define xlCenter -4108
#define xlBottom -4107
#define xlContext -5002
#define xlSolid 1
#define xlAutomatic -4105
#define xlThemeColorDark1 1
#define xlNone -4142
#define xlContinuous 1
#define xlInsideVertical 11
#define xlInsideHorizontal 12
#define xlGeneral 1
#define xlToRight -4161
WAIT WINDOW NOWAIT 'Exportando...a Excel'
SET DATe BRITISH
LOCAL nFila as Number
SELECT almacen
GO top
nFila=6
** PREPARO UNA NUEVA SESION DE EXCEL:
Excel1 = CREATEOBJECT("Excel.Application")
** la siguiente liena si esta .t. permite ver como se va llenando la hoja en excel mientras trabaja
Excel1.VISIBLE = .T.
** PREPARO UN NUEVO TRABAJO DE EXCEL
Excel1.Workbooks.ADD
** titulos para las columnas 1,2,3,4,5 siempre en la fila 1
Excel1.Range("A1").Select
Excel1.ActiveSheet.Pictures.Insert("C:\agnova\Graphics\logo_nova_excel.jpg").Select
Excel1.Selection.ShapeRange.left=1
Excel1.Selection.ShapeRange.top=1
Excel1.Cells(3,3)="REPORTE DE ALMACENES"
Excel1.Cells(3,3).font.bold=.T.
Excel1.Cells(3,3).font.size=16
Excel1.Cells(4,1)="Fecha y Hora : " + DTOC(DATETIME())
Excel1.Range("A5:C5").Select
With Excel1.Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = .F.
.Orientation = 0
.AddIndent = .F.
.IndentLevel = 0
.ShrinkToFit = .F.
.ReadingOrder = xlContext
.MergeCells = .F.
EndWith
Excel1.Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Excel1.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Excel1.Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
EndWith
With Excel1.Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
EndWith
With Excel1.Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
EndWith
With Excel1.Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
EndWith
With Excel1.Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
EndWith
With Excel1.Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
EndWith
With Excel1.Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent5
.TintAndShade = -9.99786370433668E-02
.PatternTintAndShade = 0
EndWith
*fila,columna
Excel1.Cells(5,1)="Ord"
Excel1.Cells(5,2)="Código"
Excel1.Cells(5,3)="Nombre"
Excel1.Columns('A:A').ColumnWidth=6.86
Excel1.Columns('B:B').ColumnWidth=7.29
Excel1.Columns('C:C').ColumnWidth=49.14
nContador=1
SCAN
Excel1.Cells(nFila,1)=TRANSFORM(nContador)
Excel1.Cells(nFila,2)=codalma
Excel1.Cells(nFila,3)=nomalma
WAIT WINDOW NOWAIT 'Exportando registro(s) ' + ALLTRIM(str(nContador))
nFila=nFila+1
nContador=nContador+1
ENDSCAN
cRango='C6:C'+alltrim(STR(nFila))
Excel1.Range(cRango).Select
With Excel1.Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = .T.
.Orientation = 0
.AddIndent = .F.
.IndentLevel = 0
.ShrinkToFit = .F.
.ReadingOrder = xlContext
.MergeCells = .F.
EndWith
*------------------------------
*almacen al cuadro
*------------------------------
cRango='A5:C'+alltrim(STR(nFila-1))
Excel1.Range(cRango).Select
Excel1.Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Excel1.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Excel1.Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
EndWith
With Excel1.Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
EndWith
With Excel1.Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
EndWith
With Excel1.Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
EndWith
With Excel1.Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
EndWith
With Excel1.Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
EndWith
Excel1.ActiveWindow.DisplayGridlines = .F.
RELEASE Excel1
WAIT WINDOW NOWAIT 'Gracias, puede continuar!!!'
Saludos
Martín Inga
--
Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/CAKiZPeExr4%3DcsbHFCNLPw4ZiDF%3DY-Ep%2B39ykR4vJCVDT1d5VJw%40mail.gmail.com.
Debes hacer la planilla en Excel pero previamente activar el grabado de macros. Una vez que creas tener la planilla lista, detienes la grabación y te fijas las ordenes que se crearon en esa macro en VBasic (son mas o menos parecidas al FoxPro) las debes transformar al FoxPro y hacerlas correr. Vas a tener que experimentar un poco hasta ponerte hábil y lograr los resultados que quieres.
Es la única forma de aprender.
Enviado desde Correo para Windows
De: Jorge
Enviado: viernes, 14 de octubre de 2022 5:57 p. m.
Para: publicesvfoxpro
Asunto: [vfp] generar excel con extension xlsx desde visual fox pro
Hola :
--
Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/CAKiZPeExr4%3DcsbHFCNLPw4ZiDF%3DY-Ep%2B39ykR4vJCVDT1d5VJw%40mail.gmail.com.