foxpreviewer

103 views
Skip to first unread message

Angel Dario Rodriguez

unread,
Jun 11, 2026, 2:34:56 PM (2 days ago) Jun 11
to publice...@googlegroups.com
Buenas, mis estimados foxeros. 
Existe alguna versión de foxpreviewer que al exportar a exxel la data, el formato quede correcto. Es decir los tipos y datos en las columnas correctas e igual los totales y subtotales. 

Gracias anticipadas. 

Zarlu

unread,
Jun 11, 2026, 5:31:02 PM (2 days ago) Jun 11
to Comunidad de Visual Foxpro en Español
Buenas tardes angel.darior!

Es de agradecer la valiosa herramienta del maestro César.
Hasta la última versión gratis con la que probé quedaban algunos puntos por afinar, como los que comentas.
No sé si la versión de paga los ha subsanado. A ver si alguien que la use comenta al respecto.

(Intenté crear mi propio exportador de reportes a excel y es algo complicado de ajustar a la generalidad de reportes. Por la diferencia de coordenadas a celdas, y tamaño de celdas)

Igual y podrías después de la exportación aplicar automatización para adecuar a lo que requieres.

Suerte
zarlu
Chetumal, Quintana Roo, México

jmr...@gmail.com

unread,
Jun 12, 2026, 8:17:04 AM (yesterday) Jun 12
to Comunidad de Visual Foxpro en Español
No te serviria exportar la tabla a excel con algo como?:

*Exporta una tabla a formato XLSX
PROCEDURE DBFExcel
PARAMETERS cNomBase,cNomExcel
#INCLUDE VFPxWorkbookXLSX.h
LOCAL loExcel, lnWb, lcExcel, lcTable

lcExcel = cNomExcel + ".xlsx"
lcTable = cNombase + ".dbf"

loExcel = NEWOBJECT("VFPxWorkbookXLSX", "VFPxWorkbookXLSX.vcx")
loExcel.SaveTableToWorkbookEx(lcTable, lcExcel, .NULL.)

lnWb = loExcel.OpenXlsxWorkbook(lcExcel)
loExcel.DeleteRow(lnWb, 1, 1)
loExcel.SaveWorkbook(lnWb)
RELEASE loExcel

jmr...@gmail.com

unread,
Jun 12, 2026, 8:27:12 AM (yesterday) Jun 12
to Comunidad de Visual Foxpro en Español
La clase no se de donde la saque, pero en la documentacion no pone autor, ni ningun comentario acerca de compartirla.

Si la quieres te la mando

jmr...@gmail.com

unread,
Jun 12, 2026, 8:43:29 AM (yesterday) Jun 12
to Comunidad de Visual Foxpro en Español

Cesar Luque

unread,
Jun 12, 2026, 10:59:37 AM (yesterday) Jun 12
to Comunidad de Visual Foxpro en Español
Que tal funciona la clase ? 

Antonio Meza

unread,
Jun 12, 2026, 11:08:35 AM (yesterday) Jun 12
to Comunidad de Visual Foxpro en Español
En este tema compartieron la clase de Walter Ojeda

Miguel Angel Quinzan

unread,
Jun 12, 2026, 4:34:43 PM (yesterday) Jun 12
to publice...@googlegroups.com
si si hay que trabajar con los distintos comandos de excel. paso un ejemplo 




loExcel=CREATEOBJECT("Excel.Application")
loExcel.workbooks.open("&pathnomarch")

lSheet = loExcel.ActiveWorkbook.ActiveSheet
loExcel.Application.visible = .t.

loExcel.Sheets(1).Name = "Lista de Precios"


*** Eliminado las columnas inecesarias ***
For N = 1 to 3
loExcel.Sheets(1).Columns(2).delete
EndFor
loExcel.Sheets(1).Columns(3).delete
For N = 1 to 11
loExcel.Sheets(1).Columns(4).delete
EndFor

For N = 1 to 36
loExcel.Sheets(1).Columns(5).delete
EndFor

** inserta columna
loExcel.Sheets(1).Columns(1).insert
lSheet.Columns(1).ColumnWidth=2


    ** Mascara de numero separador de miles y 2 decimales    
loExcel.Sheets(1).Columns(4).numberformat = "##,###,###.00"

    lSheet.Range("B1").value = "Cod.Merc"
    lSheet.Range("C1").value = "Descripción / Detalle"
    lSheet.Range("D1").value = "Precio $"
    lSheet.Range("E1").value = "Act"

    lSheet.Range("A1:E1").HorizontalAlignment = 3
loExcel.Sheets(1).Columns().AutoFit

loExcel.Rows(1).Insert
loExcel.Rows(1).Insert
loExcel.Rows(1).Insert
loExcel.Rows(1).Insert

** bordes  ** todo el cuadro
      lSheet.Range("B5:E5").Borders.LineStyle=13
      lSheet.Range("B5:E5").interior.color = RGB(0,200,5)

    ** Logo de la Empresa
with loExcel
       .ActiveSheet.Pictures.Insert(LogEmp).select
        .Selection.ShapeRange.LockAspectRatio = 0
       .Selection.ShapeRange.Height = 82
       .Selection.ShapeRange.Width = 82
       .Selection.ShapeRange.name = "VerQuilmes"
       .RANGE("A1").SELECT
endWith
loExcel.ActiveSheet.Shapes("VerQuilmes").IncrementLeft(-173.25)
loExcel.ActiveSheet.Shapes("VerQuilmes").IncrementTop(-100.75)

  **** ROTULOS / TITULOS ****

     loExcel.sheets(1).Cells(1,4).Font.Size= 8
     lSheet.Range("D1").HorizontalAlignment = 3
     lSheet.Range("D1").value = datetime()
     lSheet.Range("D1").NumberFormat = "dd/mm/yyyy"

     loExcel.sheets(1).Cells(2,4).Font.Size= 8
     lSheet.Range("D2").HorizontalAlignment = 3
     lSheet.Range("d2").value = time()
     loExcel.Range("d2").NumberFormat = "h:mm:ss"

     loExcel.sheets(1).Cells(1,3).Font.Size= 18
     lSheet.Range("C1").HorizontalAlignment = 3
     lSheet.Range("C1").value = "LISTA DE PRECIOS"

     loExcel.sheets(1).Cells(2,3).Font.Size= 10
     lSheet.Range("C2").HorizontalAlignment = 3
     lSheet.Range("C2").value = MT_MODO   && VARIABLE PUBLICA   "Modo: Activo / Inactivo - Con / Sin Cargas Impositivas"
     
     loExcel.sheets(1).Cells(3,3).Font.Size= 24
     lSheet.Range("C3").value = "11-5384-6416"
     lSheet.Range("C3").HorizontalAlignment = 4
     lSheet.Columns(3).ColumnWidth=60

     lSheet.Range("C4").value = "Lunes a Viernes 08:00 a 20:00 Sabado 08:00 a 14:00 Hs"
     lSheet.Range("C4").HorizontalAlignment = 4    


    ** Logo de la whats
with loExcel
       .ActiveSheet.Pictures.Insert("&LogWatts").select
        .Selection.ShapeRange.LockAspectRatio = 0
       .Selection.ShapeRange.Height = 30
       .Selection.ShapeRange.Width = 60
       .Selection.ShapeRange.name = "WhatsApp"
       .RANGE("A1").SELECT
endWith
loExcel.ActiveSheet.Shapes("WhatsApp").IncrementLeft(-73.25)
loExcel.ActiveSheet.Shapes("WhatsApp").IncrementLeft(195.25)

loExcel.ActiveSheet.Shapes("WhatsApp").IncrementTop(-50.75)
loExcel.ActiveSheet.Shapes("WhatsApp").IncrementTop(38.75)

     loExcel.ActiveWorkBook.SaveAs("&pathnomarch")
loExcel.Quit
return

   lSheet.Range("B4:E4").Borders(1).LineStyle=7
   lSheet.Range("B4:E4").Borders(2).LineStyle=7
   lSheet.Range("B4:E4").Borders(3).LineStyle=7
   lSheet.Range("B4:E4").Borders(4).LineStyle=7




--
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 este debate, visita https://groups.google.com/d/msgid/publicesvfoxpro/b27fcecb-2515-4525-91d7-8352e400454fn%40googlegroups.com.


--
Miguel Ángel Quinzán

Mario Dal Degan

unread,
Jun 12, 2026, 5:50:57 PM (23 hours ago) Jun 12
to Comunidad de Visual Foxpro en Español
Me viene bien este post para hacer una pregunta.
Cuando automatizo excel tengo el problema con los clientes que no tienen una versión legal. Lo que ocurre es que aparece el mensaje para activación.
Existe una forma de automatizar sin depender de la licencia?
Gracias.

Zarlu

unread,
Jun 12, 2026, 6:15:01 PM (23 hours ago) Jun 12
to Comunidad de Visual Foxpro en Español
Buenas tardes Mario!

Prueba si funciona esto para el mensaje de activación:
*desactiva alertas
loExcel.DisplayAlerts = .F.

Considera al lanzar Excel un modo opcional a "prueba de error". Osea  con la aplicación visible para que puedas identificar plenamente el tipo de ventana/mensaje que interrumpe la rutina.

Suerte
zarlu
Chetumal, Quintana Roo, México
Reply all
Reply to author
Forward
0 new messages