Openoffice y VFP

Hola ikz0f7.
Oye, ¿Cómo puedo Utilizar el OpenOffice.org calc en VFP?
Por que para Excel es fácil, solo:
oExcel = CREATEOBJECT("Excel.application") &&&Creo el objeto.
oWorkbook =oexcel.Workbooks.Add() &&& Añado un libro
oSheet=oExcel.ActiveSheet && Creo el objeto que hace referencia al objeto.
Eon esto ya puedo utilizar el Excel a la perfección.
Configuro margenes, papel, etc...
¿Pero en OpenOffice.org calc como?
Si me pudieras ayudar!
Gracias

1 Respuesta

Respuesta
1
Pues estuve investigando un poco y encontré algunos ejemplos muy interesantes.
Aquí la desventaja es que no cuentas con ayuda "IntelliSense" y debes respetar las mayúsculas y minúsculas de las letras.
Básicamente con esto podrías empezar a editar una Hoja de Cálculo desde VFP:
oServOO = CREATEOBJECT("Com.Sun.Star.ServiceManager.1")
oPlatOO = oServOO.CreateInstance("com.sun.star.frame.Desktop")
*!* COMARRAY(oServOO, 10)
oReflectX = oServOO.createInstance("com.sun.star.reflection.CoreReflection")
*!* COMARRAY(oReflectX, 10)
oValorP = CREATEOBJECT("Relation")
oReflectX.forName("com.sun.star.beans.PropertyValue").CreateObject(@oValorP)
DIMENSION aProp(1)
aProp[1] = oValorP
aProp[1].Name = "ReadOnly"
aProp[1].Value = .F.
oDoc = oPlatOO.LoadComponentFromURL("private:factory/scalc", "_blank", 0, @aProp)
oHoja = oDoc.getSheets.getByName("Hoja1")
RAND(-1)
FOR nCont = 1 TO 4
oCelda = oHoja.getCellByPosition(3, nCont)
oDoc.CurrentController.Select(oCelda)
WITH oDoc.CurrentSelection
.Value = 1 + 100 * RAND()
ENDWITH
ENDFOR
oCelda = oHoja.getCellByPosition(3, nCont)
oDoc.CurrentController.Select(oCelda)
oDoc.CurrentSelection.Formula = "= SUM(D2:D5)"
Toda esta información la saqué de los siguientes enlaces, ahí puedes encontrar ejemplos más detallados de como utilizar los Servicios de OpenOffice desde Visual FoxPro.
http://www.fpress.com/revista/Num1103/art.htm
http://www.portalfox.com/index.php?name=News&file=article&sid=2518
http://www.portalfox.com/index.php?name=News&file=article&sid=528&mode=nested&order=0&thold=0
Suerte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas