Vous êtes sur la page 1sur 4

6/11/2014

Automatizacion de Excel desde VFP - codeWiki

Automatizacion de Excel desde VFP


From codeWiki
Por: Angel Ferreira

Contents
1 COM (Modelos de Objetos Componentes)
2 Crear Objetos en VFP para manejar una hoja de Excel
3 Crear libros de Excel nuevos y abrir libros existentes
4 Enviar datos desde VFP hacia una hoja de Excel

COM (Modelos de Objetos Componentes)


Dicho en otras palabras COM es el estndar de Microsoft para la comunicacin entre aplicaciones
Windows, es decir, una gran herramienta que nos permitir interactuar entre Visual FoxPro con
aplicaciones Microsoft como Excel, Word, Power Point y otras aplicaciones Microsoft como Outlook, etc.
En este captulo, estudiaremos la forma de interactuar desde VFP hacia esa gran herramienta conocida
como MICROSOFT EXCEL.
Aprenderemos cosas tales como:
Crear Objetos en VFP para manejar una Hoja de Excel
Crear Libros de Excel nuevos y abrir libros existentes
Enviar datos desde VFP hacia Excel

Crear Objetos en VFP para manejar una hoja de Excel


Lo primero que tenemos que conocer es que en VFP podemos crear una instancia de un Objeto COM y
convertirlo de esta manera en un objeto manipulable para nuestro lenguaje de programacin (VFP). Para
crear un Objeto COM, cualquiera que sea, se utiliza en VFP la Funcin CREATEOBJECT(), la cual
requiere como parmetro el nombre de la aplicacin a instanciar, en este caso Microsoft Excel.
Dicho esto, si queremos que nuestra aplicacin se comunique con Microsoft Excel, lo primero que debemos
hacer es crear el objeto com correspondiente:
Local oExcel

&& Variable que contendr la instancia del objeto COM EXCEL

http://www.victorespina.com.ve/wiki/index.php?title=Automatizacion_de_Excel_desde_VFP

1/4

6/11/2014

Automatizacion de Excel desde VFP - codeWiki

oExcel = CreateObject("Excel.Application").

( Les invito a ejecutar este cdigo en un programa, o en la ventana de Comandos de VFP)


Bien, ya dimos el primer paso, pero si ejecutaron el ejemplo se dieron cuenta que a nivel visual no ocurri
nada interesante, es debido a que los objetos COM se crean con la propiedad VISIBLE en Falso, entonces
para ver nuestra Hoja de Excel que acabamos de crear, debemos ejecutar la siguiente instruccin.
oExcel.Visible = .T.

En estas pocas lneas hemos aprendido los primeros pasos para trabajar con Objetos COM, vimos como
crear un objeto COM tipo EXCEL y como colocarlo Visible frente a los ojos del Usuario. Ahora ya
sabemos que el Objeto COM es como un objeto mas dentro de VFP el cual tiene mtodos y propiedades y
que es de manejo sencillo para cualquier programador que haya trabajado con un par de Objetos VFP.

Crear libros de Excel nuevos y abrir libros existentes


Luego de haber creado el Objeto COM EXCEL, lo que debemos es aprender algunos de sus mtodos y
propiedades para poder abrir libros existentes y poder crear libros nuevos:
ObjetoComExcel.Workbooks.Add

El mtodo Add de la coleccin de objetos Workbooks nos permite anexar a nuestro Objeto EXCEL COM
un libro nuevo para trabajar con una hoja de excel totalmente operativa.
Por favor ejecute el siguiente ejemplo desde un programa VFP o desde la ventana de Comandos:
Local oExcel
oExcel = CreateObject("Excel.Application")
oExcel.Visible = .T.
oExcel.Workbooks.Add

Observe que desde este momento, ha creado desde VFP un libro de excel nuevo con una hoja totalmente
operativa para trabajar.
ObjetoComExcel.Workbooks.Open("Archivo de Excel")

El mtodo Open del Objeto Workbooks nos permite abrir un libro o una hoja de excel existente y la deja
operativa para trabajar con esta. Para ver este efecto, por favor cree una hoja de excel y grbela en su disco
con algn tipo de informacin. Para nuestro ejemplo vamos a suponer que la hoja de excel que usted creo se
llama MiHoja.Xls y que se encuentra en la raz del disco C:
Local oExcel, MiArchivoExcel
MiArchivoExcel = "C:\MiHoja.Xls"
http://www.victorespina.com.ve/wiki/index.php?title=Automatizacion_de_Excel_desde_VFP

2/4

6/11/2014

Automatizacion de Excel desde VFP - codeWiki

oExcel = CreateObject("Excel.Application")
oExcel.Visible = .T.
oExcel.Workbooks.Open(MiArchivoExcel)

Hasta ahora ya aprendimos varias cosas de importancia antes de entrar en materia para trabajar
profundamente con el objeto COM EXCEL a fin de poder crear reportes, grficos, datos, ejecutar macros,
en fin, incorporar a nuestras aplicaciones VFP todo el poder de Microsoft Excel.

Enviar datos desde VFP hacia una hoja de Excel


En esta parte observaremos como enviar o escribir datos desde VFP hacia una hoja de Excel de manera que
ya observemos la funcionalidad de lo aprendido anteriormente, para esto debemos conocer la siguiente
propiedad:
ObjetoComExcel.Cells(Fila,Columna)

La propiedad Cells del Objeto COM EXCEL nos permite tener acceso a las celdas de la hoja de Excel y de
esta manera poder obtener valores de las celdas de una hoja de excel o poder escribir valores en la misma.
En el siguiente ejemplo1 observaran que se crea una hoja de excel y que se escribe en la celda (A1) un
valor, luego se coloca el valor escrito en negrita y luego se le pide a VFP que muestre el valor de esta celda.
Para el ejemplo 2 observaremos como crear un reporte sencillo de clientes y vaciar la informacin en una
hoja de excel.
Ejemplo 1:
Local oExcel
oExcel = CreateObject("Excel.Application")
oExcel.Visible = .T.
oExcel.Workbooks.Add
oExcel.Cells(1,1).Value ="Prueba"
oExcel.Cells(1,1).Font.Bold = .T.
oExcel.Workbooks.Close
oExcel.Quit
Release oExcel

&&
&&
&&
&&
&&

Coloca
Coloca
Cierra
Cierra
Libera

el Valor Prueba en la Celda A1 de nuestra hoja.


en negrita el valor de la celda
el libro de excel
Microsoft Excel
de la memoria el Objeto COM EXCEL

Ejemplo 2:
Local oExcel, nCelda
Use Clientes In 0 Alias Clientes Shared
Select Clientes
Set Order to CodCli
oExcel = CreateObject("Excel.Application")
oExcel.Visible = .T.
oExcel.Workbooks.Add
nCelda = 1
http://www.victorespina.com.ve/wiki/index.php?title=Automatizacion_de_Excel_desde_VFP

3/4

6/11/2014

Automatizacion de Excel desde VFP - codeWiki

Scan
oExcel.Cells(1,nCelda).Value = Clientes.CodCli
oExcel.Cells(2,nCelda).Value = Clientes.NomCli
nCelda = nCelda + 1
EndScan

Espero les halla gustado esta documentacin y que les saquen el mejor de los provechos.
Retrieved from "http://www.victorespina.com.ve/wiki/index.php?
title=Automatizacion_de_Excel_desde_VFP&oldid=231"
Category:
Visual FoxPro
This page was last modified on 1 March 2012, at 07:15.
This page has been accessed 4,146 times.
Content is available under Public Domain.

http://www.victorespina.com.ve/wiki/index.php?title=Automatizacion_de_Excel_desde_VFP

4/4

Vous aimerez peut-être aussi