Olha... trabalhar com a API do OO (OpenOffice) não é a coisa mais divertida que 
existe. Já precisei há algum tempo, gostei mas sinceramente achei trabalhoso. E 
há uma quantidade desértica de referência em português (e muito menos em 
Delphi) sobre a API. Um bom artigo de referência saiu esse mês (Jul/2009 - ed. 
65) na ActiveDelphi. Recomendo fortemente sua leitura.

Para a solução do problema do colega, uma parte dela está implementada aqui [1] 
e uma versão semelhante e explicada está na revista ActiveDelphi deste mês 
(Jul/2009 - ed. 65). Só não há informação sobre mesclagem e bordas o que pode 
ser desenvolvido pesquisando o site/portal dedicado a API do OO em [2]. Alerto 
que todos os exemplos do portal são em Java e C++ e no fórum dedicado à API-OO 
com sorte encontra-se algo em Delphi. 

Os endereços [3], [4] e [5] são pontos que abordam o assunto, com as interfaces 
que devem ser manipuladas. Para entender como transpor o que está descrito 
nesses endereços (em inglês, com exemplos em Java e/ou C++) para o Delphi 
(ObjectPascal / Delphi Language) recomendo analisar o proposto em [1] e se 
possível, o artigo citado da revista ActiveDelphi (Jul./2009 ed. 65). 

Com isso creio que seja possível ter/desenvolver exatamente o que você 
necessita.

Referências: (consultadas e disponíveis em 03.08.2009)

[1] - Delphi: Interact with Calc docs from OpenOffice or Excel:
http://www.oooforum.org/forum/viewtopic.phtml?t=8878

[2] - The OpenOffice.org API Project:
http://api.openoffice.org/

[3] SpreadSheet Documents - OpenOffice.org Wiki:
http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/Spreadsheets/Spreadsheet_Documents

[4] SpreadSheet Services - Overview - OpenOffice.org Wiki:
http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/Spreadsheets/Spreadsheet_Services_-_Overview

[5] Cell Ranges and Cells Container - OpenOffice.org Wiki:
http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/Spreadsheets/Cell_Ranges_and_Cells_Container

Atenciosamente,
Ricardo Cardoso.

1) Evite escrever suas mensagens usando somente LETRAS MAIÚSCULAS.

2) Revise o texto de sua mensagem. Uma mensagem bem escrita é melhor 
compreendida.

3) Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!

--- Em seg, 3/8/09, fabio giro <fabio_g...@yahoo.com.br> escreveu:





 




    
                  Você já deu uma pesquisada em:

www.devmedia. com.br , 

www.linhadecodigo. com.br , 

www.activedelphi. com.br , 

www.delphi.eti. br ?



--- Em seg, 3/8/09, Paulo Pontes <pontespaulo@ gmail.com> escreveu:



De: Paulo Pontes <pontespaulo@ gmail.com>

Assunto: Re: [delphi-br] Delphi X OpenOffice

Para: delphi...@yahoogrup os.com.br

Data: Segunda-feira, 3 de Agosto de 2009, 11:28



  



Fábio, obrigado pela dica.



Mas meu problema maior é com o OpenOffice, para o Excel fiz como vc citou

mesmo. Mas a API dos dois é diferente, não possui as mesmas funções.



Valeu!



2009/8/3 fabio giro <fabio_giro@ yahoo. com.br>



>

>

> Adapte as suas necessidades

>

> // bordas da celula

> excel.Workbooks[ 1].WorkSheets[ 1].range[ 'A4','E5' ].borders. linestyle := 1;

> excel.Workbooks[ 1].WorkSheets[ 1].range[ 'A4','E5' ].borders. weight := 2;

>

> // mesclar celulas

> excel.Workbooks[ 1].WorkSheets[ 1].Range[ 'A4:C4']. Merge;

> excel.Workbooks[ 1].WorkSheets[ 1].Range[ 'D4:E4']. Merge;

>

> Para formatar células:

> 1º você formata depois coloca o conteúdo, é + fácil.

> 2º formate assim...

> Range("C5"). Select

> Selection.NumberFor mat = "0.00"

> ou

> Cells(11, 3).Select

> Selection.NumberFor mat = "0.00"

> ou

> Range("C7"). Select

> Selection.NumberFor mat = "m/d/yy"

> Excel.Cells. Item[1,2] .Select;

> Excel.Selection. numberformat := '00000000000000' ; {Formata como CNPJ}

> Excel.Cells. Item[1,2] .Select;

> Excel.Selection. numberformat := '@'; {Formata como texto}

> Excel.Cells. Item[1,2] .Select;

> Excel.Selection. numberformat := '#,##0.00'; {Formata 1,00}

> a célula deve receber apenas o mês e não um a data??

> tente isso antes de passar o valor para a célula.

> Range['A1', 'A1'].NumberFormat := '#';

> Range[StrCell, StrCell].Value2 := grd.Columns[ NumColuna] .Field.Value;

> if grd.Columns[ NumColuna] .Field.DataType in [ftdate, ftDateTime] then

> Range[StrCell, StrCell].NumberForm at := 'dd/mm/aaaa' ;

> if grd.Columns[ NumColuna] .Field.DataType in [ftFloat, ftCurrency] then

> Range[StrCell, StrCell].NumberForm at := '#.##0,00';

>

> Dê uma pesquisada em www.delphi.eti. br

>

> Espero ter ajudado.

>

> --- Em seg, 3/8/09, Paulo Pontes <pontespaulo@ gmail.com<pontespau lo% 
> 40gmail.com> >

> escreveu:

>

> De: Paulo Pontes <pontespaulo@ gmail.com <pontespaulo% 40gmail.com> >

> Assunto: [delphi-br] Delphi X OpenOffice

> Para: delphi...@yahoogrup os.com.br <delphi-br%40yahoog rupos.com. br>

> Data: Segunda-feira, 3 de Agosto de 2009, 9:42

>

>

>

>

> Pessoal, bom dia!

>

> Alguém tem um exemplo aí de como formatar uma planilha do OpenOffice pelo

> Delphi? Eu já implementei uma rotina aqui que faz a geração da planilha mas

> não estou conseguindo formatá-la, principalmente: mesclar células e colocar

> grade.

>

> Obrigado!

>

         
        
        








        


        
        


      
____________________________________________________________________________________
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]

Responder a