TOpenOffice para OPenOffice
TOpenOffice para OPenOffice
Class TOO
Onde posso encontrar a mais recente ?
Ari
Onde posso encontrar a mais recente ?
Ari
eu já vi estas classes aqui, baixei elas, mas nunca usei, autor é
como eu posso entrar em contato com Author ?
$Id: TOO.prg,v 1.2 2006/04/22 02:17:52 _ Exp $
Lira Lira _ Joel [_]
Proyecto: TExcelR
Archivo : TOO.prg
Creado : 01/13/2006, 19:53
Ultima Actualizacion :>: 04/21/2006 20:13
Historial de Cambios :>>
Referencias
================================================================================================
http://www.diariolinux.com/tiki-read_ar ... 092&page=3
ftp://docs-pdf.sun.com/817-1826/817-1826.pdf //Guia de programacion
http://www.oooforum.org/forum //Foro de Soporte
como eu posso entrar em contato com Author ?
$Id: TOO.prg,v 1.2 2006/04/22 02:17:52 _ Exp $
Lira Lira _ Joel [_]
Proyecto: TExcelR
Archivo : TOO.prg
Creado : 01/13/2006, 19:53
Ultima Actualizacion :>: 04/21/2006 20:13
Historial de Cambios :>>
Referencias
================================================================================================
http://www.diariolinux.com/tiki-read_ar ... 092&page=3
ftp://docs-pdf.sun.com/817-1826/817-1826.pdf //Guia de programacion
http://www.oooforum.org/forum //Foro de Soporte
Amiguinho
Pelo visto voce esta querendo produzir arquivos XLS, estou certo.
Voce ja tentou usar OLE para isto:
Exemplo simples
Exemplo mais completo com escrita e leitura de XLS's
@braços : ? )
Pelo visto voce esta querendo produzir arquivos XLS, estou certo.
Voce ja tentou usar OLE para isto:
Exemplo simples
Code: Select all
*
* ----------------------------------------------------------------
*
FUNCTION OLEEXCEL97()
LOCAL oExcel, oHoja
oExcel := TOleAuto():New( "Excel.Application" )
oExcel:WorkBooks:Add()
oHoja := oExcel:ActiveSheet()
oHoja:Cells:Font:Name := "Arial"
oHoja:Cells:Font:Size := 12
oHoja:Cells( 3, 1 ):Value := "Texto:"
oHoja:Cells( 3, 2 ):Value := "Esto es un texto"
oHoja:Cells( 4, 1 ):Value := "Número:"
oHoja:Cells( 4, 2 ):NumberFormat := "#.##0,00"
oHoja:Cells( 4, 2 ):Value := 1234.50
oHoja:Cells( 5, 1 ):Value := "Lógico:"
oHoja:Cells( 5, 2 ):Value := .T.
oHoja:Cells( 6, 1 ):Value := "Fecha:"
oHoja:Cells( 6, 2 ):Value := DATE()
oHoja:Columns( 1 ):Font:Bold := .T.
oHoja:Columns( 2 ):HorizontalAlignment := -4152 // xlRight
oHoja:Columns( 1 ):AutoFit()
oHoja:Columns( 2 ):AutoFit()
oHoja:Cells( 1, 1 ):Value := "OLE desde FW"
oHoja:Cells( 1, 1 ):Font:Size := 16
oHoja:Range( "A1:B1" ):HorizontalAlignment := 7
oHoja:Cells( 1, 1 ):Select()
oExcel:Visible := .T.
oHoja:End()
oExcel:End()
RETURN
Code: Select all
*
* ----------------------------------------------------------------
*
FUNCTION OLEExcel()
LOCAL oWnd, oMenu
MENU oMenu
MENUITEM "&Probar Excel y DBF"
MENU
MENUITEM "&Leer SIGLAS.XLS" ACTION LEER()
MENUITEM "&Enviar SIGLAS.DBF a Excel" ACTION ENVIAR() WHEN FILE( "SIGLAS.DBF" )
SEPARATOR
MENUITEM "&Salir" ACTION oWnd:End()
ENDMENU
ENDMENU
DEFINE WINDOW oWnd FROM 0,0 TO 20,70 MENU oMenu TITLE "Probar Excel y DBF"
ACTIVATE WINDOW oWnd MAXIMIZED
RETURN
FUNCTION LEER()
LOCAL oExcel, oHoja, nRows, nCols
LOCAL aCampos:={}, nRow, nCol
oExcel := TOleAuto():New( "Excel.Application" )
oExcel:WorkBooks:Open(SFN2LFN(cFilePath(GetModuleFileName(GetInstance()))+"SIGLAS.xls"))
oHoja := oExcel:Get( "ActiveSheet" )
nRows := oHoja:UsedRange:Rows:Count()
nCols := oHoja:UsedRange:Columns:Count()
FOR nCol := 1 TO nCols
IF ValType( oHoja:Cells( 2, nCol ):Value ) = "C"
AADD( aCampos, { oHoja:Cells( 1, nCol ):Value, "C", 80, 0 } )
ELSEIF ValType( oHoja:Cells( 2, nCol ):Value ) = "N"
AADD( aCampos, { oHoja:Cells( 1, nCol ):Value, "N", 15, 4 } )
ELSEIF ValType( oHoja:Cells( 2, nCol ):Value ) = "L"
AADD( aCampos, { oHoja:Cells( 1, nCol ):Value, "L", 1, 0 } )
ELSEIF ValType( oHoja:Cells( 2, nCol ):Value ) = "D"
AADD( aCampos, { oHoja:Cells( 1, nCol ):Value, "D", 8, 0 } )
ENDIF
NEXT
DBCREATE( "EXCEL", aCampos )
USE "EXCEL" NEW
FOR nRow := 2 TO nRows
APPEND BLANK
FOR nCol := 1 TO nCols
FIELDPUT( nCol, oHoja:Cells( nRow, nCol ):Value )
NEXT
NEXT
CLOSE DATABASES
oExcel:Quit()
oHoja:End()
oExcel:End()
MsgInfo( "Foi criado o arquivo EXCEL.DBF" )
RETURN
FUNCTION ENVIAR()
LOCAL oExcel, oHoja
LOCAL nRow := 1, nCol
oExcel := TOleAuto():New( "Excel.Application" )
oExcel:WorkBooks:Add()
oHoja := oExcel:Get( "ActiveSheet" )
USE "SIGLAS" NEW
FOR nCol := 1 TO FCOUNT()
oHoja:Cells( nRow, nCol ):Value := FieldName( nCol )
NEXT
DO WHILE .NOT. EOF()
nRow++
FOR nCol := 1 TO FCOUNT()
oHoja:Cells( nRow, nCol ):Value := FieldGet( nCol )
NEXT
SKIP
ENDDO
FOR nCol := 1 TO FCOUNT()
oHoja:Columns( nCol ):AutoFit()
NEXT
CLOSE DATABASES
oExcel:Visible := .T.
oHoja:End()
oExcel:End()
RETURN
Amiguinho
Se voce encontrar na documentaçao do OpenOffice algo sobre seus controles activex ou OCX talvez seja possivel criar uma ponte usando OLE e Activex do Fivewin para manipular-los
Um bom programa para isto é o ActiveXXX que lista todas DLLs e OCX instaladas e apresenta as propriedades e métodos ficando mais fácil trabalhar com elas
Eu inclisve andei fuçando nele para usar os mais nnovos controles do Windows para minhas interfaces.
qualquer coisa me contacte no fivolution@hotmail.com a noite que batemos um papinho.
@braços :?)
Se voce encontrar na documentaçao do OpenOffice algo sobre seus controles activex ou OCX talvez seja possivel criar uma ponte usando OLE e Activex do Fivewin para manipular-los
Um bom programa para isto é o ActiveXXX que lista todas DLLs e OCX instaladas e apresenta as propriedades e métodos ficando mais fácil trabalhar com elas
Eu inclisve andei fuçando nele para usar os mais nnovos controles do Windows para minhas interfaces.
qualquer coisa me contacte no fivolution@hotmail.com a noite que batemos um papinho.
@braços :?)
Caso vcs precisem me mandem um email para ronaldo@bazevani.com.br
eu utiliza o Microsoft Word com TWORD e OpenOffice com TOffice 100%
eu utiliza o Microsoft Word com TWORD e OpenOffice com TOffice 100%
Bom pessoal.... pegue o exemplo em meu site:
www.bazevani.com.br/ronaldo/office.zip
dentro dele você encontra 3 arquivos.
toffice.prg --> Interface openoffice (br)
tword.prg -->> Microsoft Word
prg2714.prg -> Este programa se comunica com as duas versoes word e office...
www.bazevani.com.br/ronaldo/office.zip
dentro dele você encontra 3 arquivos.
toffice.prg --> Interface openoffice (br)
tword.prg -->> Microsoft Word
prg2714.prg -> Este programa se comunica com as duas versoes word e office...
Ronando,
obrigado, já faz dias que baixei o exemplo ..agora que comecei a tentar pelo BrOffice, e tá dando erro no
o meu documento eu passo como c:\sisrev\win\debito.odt
oDesktop:loadComponentFromURL(cDocument, "_blank" , 0, aArg)
retorna o erro: Ole Error
LoadComponentFromUrl: DISP_E_TYPEMISMATCH
Ari
obrigado, já faz dias que baixei o exemplo ..agora que comecei a tentar pelo BrOffice, e tá dando erro no
o meu documento eu passo como c:\sisrev\win\debito.odt
oDesktop:loadComponentFromURL(cDocument, "_blank" , 0, aArg)
retorna o erro: Ole Error
LoadComponentFromUrl: DISP_E_TYPEMISMATCH
Ari