Abrir archivos en Excel

903 views
Skip to first unread message

Ing. Carlos Torres Suárez

unread,
Dec 14, 2009, 4:25:48 PM12/14/09
to Mundo Visual FoxPro
Nosotros utilizamos la siguiente Función para abrir archivos con Excel

*******************
FUNCTION AbrirExcel
*******************
PARAMETERS Archivo
oExcel = CreateObject("Excel.Application")
oExcel.Visible = .T.
oExcel.Workbooks.Open(Archivo)

En donde Archivo es el que se abre.

Todo funcionaba bien con Office 2003 hasta que apareció el Office 2007
y cuando no le ponen al instalar el Office 2007 que se mantenga la
versión 2003 nos sale el siguiente error:

Código de Excepción OLE iDispatch 0 de Microsoft Office Excel. No se
puede obtener la propiedad Open de la clase Workbooks

Daniel Sánchez

unread,
Dec 15, 2009, 8:21:50 AM12/15/09
to mundovis...@googlegroups.com
Yo lo trabajo así y no teng problemas con la nuevas versiones de excel

tmpsheet = GetObject('','excel.sheet')

XLApp = tmpsheet.application

XLApp.Visible = .f.
cpathfile=SYS(5) + SYS(2003)+"\LetraClientes.xls"
IF FILE(cpathfile)
*/abrimos el archivo
xlapp.workbooks.open(cpathfile)
xlsheet=xlapp.activesheet
ELSE 
*/adicionamos
xlapp.workbooks.add()
xlapp.activeworkbook.saveas(cpathfile)
endif 


Daniel Sánchez Escobar
Investigación y Desarrollo
Reset Software & Sistemas
Móvil 044-949398047
Trujillo - Perú

Ing. Carlos Torres Suárez

unread,
Dec 16, 2009, 7:04:19 AM12/16/09
to Mundo Visual FoxPro
Gracias Daniel, si me funcionó, ahora me podría ayudar con una rutina
parecida para abrir archivos .pdf de Adobe Reader o cualquier lector
PDF

Gracias nuevamente

Ing.Daniel Bojorge

unread,
Dec 16, 2009, 9:00:13 AM12/16/09
to mundovis...@googlegroups.com
Para abrir archivos PDF desde VFP (Incrustrado a un Formulario) yo tengo esta rutina:

En el init del formulario poner:

This.AddObject("owb","oleControl","Shell.Explorer.2")
This.oWb.Top = 0
This.oWb.Left = 0
This.oWb.Width = Thisform.Width
This.oWb.Height = Thisform.Height
This.oWb.Visible = .T.
This.oWb.Anchor = 240

This.AddProperty("cPDFFileName","")
This.AddProperty("nPdfLoadTimeout",30)

* Get PDF file name
Thisform.cPdfFileName = Getfile("pdf")

* Display the name in the textbox
This.Caption = Thisform.cPdfFileName
If Not Empty(Thisform.cPdfFileName)
* Display PDF
Thisform.ShowPdf()
Endif


El método ShowPDF está así:

Local lnSeconds
* Clear Web browser control by loading blank page
Thisform.oWB.Object.Navigate2("About:Blank")
* Wait for load to complete
lnSeconds = Seconds()
Do While (Thisform.oWB.Object.Busy Or Thisform.oWB.Object.ReadyState <> 4) ;
AND (Seconds() - lnSeconds) < This.nPdfLoadTimeout
DoEvents
Enddo

* Load PDF
Wait Window Nowait "Cargando PDF ..."
Thisform.oWB.Object.Navigate2(Thisform.cPdfFileName)
* Wait for PDF to load
lnSeconds = Seconds()
Do While (Thisform.oWB.Object.Busy Or Thisform.oWB.Object.ReadyState <> 4) ;
AND (Seconds() - lnSeconds) < This.nPdfLoadTimeout
DoEvents
Enddo
Wait Clear



Espero te sea de utilidad.


Dios L@s Bendiga

Saludos,

Daniel (Con 1 Estrella DCE de Microsoft)
Nicaragua

visita www.debs.educaleft.com



--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.

Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfox...@googlegroups.com

Miguel Antúnez

unread,
Dec 16, 2009, 10:24:56 AM12/16/09
to mundovis...@googlegroups.com, cama...@gmail.com

Ahí les envió una rutina que sirve para abrir cualquier tipo de archivo. Es como si le dieras “abrir archivo”

 

parameter _archivo

IF EMPTY(_ARCHIVO)

      _ARCHIVO=GETFILE()

      IF EMPTY(_ARCHIVO)

            RETURN

      ENDIF

ENDIF

DECLARE INTEGER ShellExecute IN shell32.dll ;

 INTEGER hndWin, ;

STRING cAction, ;

STRING cFileName, ;

STRING cParams, ;

STRING cDir, ;

INTEGER nShowWin

cFileName = _archivo

cAction = "open"

ShellExecute(0,cAction,cFileName,"","",1)

 

 

Miguel Antúnez C.

Lima – Perú

Mario Alfredo Oviedo

unread,
Dec 16, 2009, 6:11:29 PM12/16/09
to Mundo Visual FoxPro
ya que ustedes son expertos con esta clase de archivo, por favor me
ayudan en esto, genero un archivo .doc .txt, elaborado en vfp, como lo
traslado a PDF, gracias

Intel Man

unread,
Dec 16, 2009, 6:18:55 PM12/16/09
to mundovis...@googlegroups.com
Hola, puedes usar el dopdf:   http://www.dopdf.com/

Y tu documento lo imprimes en la impresora que te genera el dopdf y este te lo convierte en pdf.

Saludos



> Date: Wed, 16 Dec 2009 15:11:29 -0800
> Subject: [Mundo Visual FoxPro] Re: Abrir archivos en Excel
> From: maov...@hotmail.com
> To: mundovis...@googlegroups.com

>
> ya que ustedes son expertos con esta clase de archivo, por favor me
> ayudan en esto, genero un archivo .doc .txt, elaborado en vfp, como lo
> traslado a PDF, gracias
>
> --
> _______________________________________________________________
> Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
> FoxPro" de Grupos de Google.
>
> Para anular la suscripción a este grupo, envía un mensaje a:
> mundovisualfox...@googlegroups.com


Hasta las ovejas de Sietes son expertas en Windows 7. ¡Conócelas!

Mario Alfredo Oviedo

unread,
Dec 17, 2009, 7:22:25 PM12/17/09
to Mundo Visual FoxPro
intel man, gracias, me pasaron uno que se llama txt2pdf, pero este no
lo hace automatico, txt2pdf docu.txt docu.pdf, pero siempre abre una
ventana del paquete txt2pdf, y no me gusta, porque yo lo quiero hacer
dentro de visual fox

Mario Alfredo Oviedo

unread,
Dec 17, 2009, 7:23:20 PM12/17/09
to Mundo Visual FoxPro
esta en ingles como se utilizara
Reply all
Reply to author
Forward
0 new messages