GARANTIR DESCONTO

Fórum Instanciar o word? #352389

24/01/2008

0

Boa tarde caros colegas, tenho uma aplicacao desenvolvida em delphi 7 / Firebird e gostaria de dar ao meu sistema um diferencial que se basea na seguinte ideia. Tenho um campo do tipo ´BLOB SUB_TYPE 1 SEGMENT SIZE 80 CHARACTER SET NONE´ que guarda um determinado lay-out de um documento podendo ser alterado perfeitamente pelo usuario, porem gostaria de abrir uma instancia do word para editar esse documento e ao sair o mesmo seja salvo com todas as modificaçoes feitas pelo usuario, ai vai a duvida, alguem ja fez algo parecido com isso ou mesmo saberia se é possivel fazer?
Agradeço desde ja.

Luciano Edgard


Luciano Andrade

Luciano Andrade

Responder

Posts

24/01/2008

Ara.es

coloque no uses as units: ComObj e Word2000 (essa depende da versão do delphi, verifique qual unit word e a sua.)

ai vai um exemplo:


procedure TForm2.AbrirWord;
var
  App: OleVariant;
  lv_Salvar : Variant;
begin
  // Cria uma instancia do Word
  App := CreateOleObject(´Word.Application´);
  try
    // deixando o word "invisivel"
    App.visible := False;
    //procedure para adicionar um documento.                                        
    App.Documents.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam);
    // nessa linha eu estou colando o que esta no clipboard e dizendo que e formato RTF.
    App.Selection.PasteAndFormat(wdPasteRTF);
    // ee finalmente eu estou "monstrando" o word ao usuario.
    App.Visible := True;
  except
    lv_Salvar := wdDoNotSaveChanges;
    // procedure para sair do word, nesse caso estou passando parametro para que ele nao salve nenhuma alteracao.
    App.Quit(lv_Salvar,EmptyParam,EmptyParam);
  end;
end;


nesse exemplo criei atraves do CreateOleObject, mas na unit do Word2000 já possui um tipo TWordApplication, se não me engano, o qual vc pode criar um objeto e manipular. nesse unit tbm tem os procedimentos, funções e constantes que vc pode usar.
Qualquer duvida pergunte, nao sei muito sobre instanciar o word, mas o que pude ajudar, ajudarei. Falou.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar