Olá,

o OpenOffice trabalha sem problemas com o Delphi - tenho várias aplicações que 
fazem interface com o OpenOffice. Inclusive, eu particularmente acho a API bem 
mais completa e mais intuitiva que o do MS-Office.

Um exemplo de código que converte um DOC em um TXT:

var
  ServiceManager,
  CoreReflection,
  StarDesktop,
  Document: Variant;

uses ComObj, Variants;

begin
  ServiceManager := CreateOleObject('com.sun.star.ServiceManager');
  StarDesktop := ServiceManager.createInstance('com.sun.star.frame.Desktop');
  CoreReflection := 
ServiceManager.createInstance('com.sun.star.reflection.CoreReflection');
  ConverteDOC( Diretorio + NomeArquivo );
end;

procedure ConverteDOC( sDocument: string = '' );
var
  PropertyValue,
  Params          : variant;
  DestFileName    : ShortString;

begin
  if sDocument = '' then
     ShowMessage('Document name must be provided')
  else
     begin
        if not FileExists( sDocument ) then
        begin
          ShowMessage(sDocument+' not found');
          Abort;
        end;
        sDocument := StrTran( sDocument, '\', '/' );
        sDocument := 'file:///' + sDocument;
     end;

  DestFilename := ChangeFileExt( sDocument, '.txt' );

  { Exemplo de como criar um array vazio }
  Params := VarArrayCreate( [ 0, -1 ], varVariant );

  Document := StarDesktop.LoadComponentFromURL( sDocument, '_blank', 0, Params);

  Params := unAssigned;

  { Exemplo de como criar um array com um objeto e como associar valor a ele }
  CoreReflection
        .forName('com.sun.star.beans.PropertyValue')
        .createObject(PropertyValue);

  PropertyValue.Name := 'FilterName';
  PropertyValue.Value := 'Text';

  Params := VarArrayCreate([0, 0], varVariant);
  Params[ 0 ] := PropertyValue;

  Document.StoreAsURL( DestFileName, Params );

  Sleep( 1000 );
  Document.close(true);
  PropertyValue := UnAssigned;
  Params := UnAssigned;
  Document := UnAssigned;

end;

Boa Sorte,
Josir.

-------------
Ola a todos!

Gostaria de saber se os componentes p/ automação do Delphi com o MS 
Office, também valem pra StarOffice, OpenOffice, Lotus, etc...


Att,



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



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a