Inicialmente nao consegui compilar por causa das seguines linhas...
 
sDocument := StrTran( sDocument, '\', '/' );
 
e
 
CoreReflection :=
ServiceManager.createInstance('com.sun.star.reflection.CoreReflection');
 
Despois coloquei comentarios nessa linhas e blz..
 
está faltando declarar alguma cosa no uses respecto das linhas acima
???..
 
 
 
respecto do resto...blz...consegui e fiz um um teste num outro
computador do escritorio que nao tem delphi (apenas o br-office) e
blz...Apenas tive que ajustar algumas colunas e filas que são tratadas
em forma diferente pelo BR...
 
Grato..
 
 
 

-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
Em nome de Josir Cardoso Gomes
Enviada em: terça-feira, 27 de março de 2007 13:38
Para: delphi-br@yahoogrupos.com.br
Assunto: [delphi-br] BR Office + Delphi



Santiago,

eu faço isso frequentemente (inclusive com planilhas de mais de 10Mb) e 
não dá problema nenhum. Obviamente, não vi o seu programa mas o problema

pode estar na lógica do programa. Verifique se:

1) ele não está gravando em outro Sheet da planilha ou até mesmo em 
outra planilha.

2) Como vc não tem o Delphi na máquina do cliente, faça um debug "a la 
Cobol", dando ShowMessage ou gravando em um arquivo de log para vc ter 
certeza que a sua rotina está processando os dados realmente.

Segue um código de como vc deve enviar os dados para a planilha:

var Document, Planilha: Variant;

function TForm1.OpenSpreadSheet( sDocument: string = '' ): Variant;
var
ServiceManager,
StarDesktop: Variant;
Params: variant;
begin
if sDocument = '' then
// default document is empty one
sDocument := 'private:factory/scalc'
else
begin
if not FileExists( sDocument ) then
begin
ShowMessage(sDocument+' not found');
Abort;
end;
sDocument := StrTran( sDocument, '\', '/' );
sDocument := 'file:///' + sDocument;
end;

ServiceManager := CreateOleObject('com.sun.star.ServiceManager');
StarDesktop := 
ServiceManager.createInstance('com.sun.star.frame.Desktop');
CoreReflection := 
ServiceManager.createInstance('com.sun.star.reflection.CoreReflection');
Params := VarArrayCreate( [ 0, -1 ], varVariant );
Document := StarDesktop.LoadComponentFromURL( sDocument, '_blank', 0, 
Params);
end;

begin
{ Abre a planilha }
OpenSpreadSheet( ExtractFilePath(Application.ExeName) + 
ConsumoAP.stc');
{ Se posiciona no primeiro Sheet }
Planilha := Document.Sheets.GetByIndex( 0 );
{ Grava valores }
Planilha.getCellByPosition( 1, 0).String := 'Teste';
Planilha.getCellByPosition( 2, 0).Value := 55;
end;

Boa Sorte,
Josir

----------
Enviado por: "Tatu" [EMAIL PROTECTED] <mailto:tatu%40nsr.com.br> br
santiagonsr3
Ter, 27 de Mar de 2007 9:17 am
tenho 2 aplicativos que enviam dados para plainlhas criadas no
excel..(sempre criadas no excel). Um dos aplicativos, utiliza a conexao
com o proprio excel e funciona maravilha, tanto no meu computador quanto
no meu cliente. Porem ao abrir a planilha "excel" com o br-office no meu
laptop envia os dados a planilha sem problemas...agora nos computadores
dos meus clientes, nao funciona....atualizei o br-office com a mesma
versao que eu tenho no laptop e nada...o aplicativo consegue "abrir" o
arquivo mas nao envio os dados a planilha, nem da nenhum tipo de
error...utilizo o br-office 2.0.4 com delphi 7....alguem ja fez
aplicativo parecido ???, alguma dica ?


 



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

Responder a