Fórum Word no Delphi #176244

20/08/2003

0

[size=18:b115abbaef][/size:b115abbaef]Como faço para abrir um documento do WORD 2000 e visualiza-lo dentro do meu aplicativo?

Grato,

Mardônio Cavalcante

PS:Os arquivos do WORD contem imagens.


Mardônio

Mardônio

Responder

Posts

20/08/2003

Aroldo Zanela

Colega,

Exemplo genérico:

function TForm1.CrieObjeto(const ClasseNome: String): IDispatch;
var Classifique_Id: TGUID;
    Desconhecido: IUnknown;
begin
  Classifique_ID:=ProgIdToClassId(ClasseNome);
  if Succeeded(GetActiveObject(Classifique_ID, nil, Desconhecido)) then
    OleCheck(desconhecido.QueryInterface(Idispatch, Result))
  else
    Result:=CreateOleObject(ClasseNome);
end;

procedure TForm1.btnContratoClick(Sender: TObject);
var Doc: Variant;
begin
  Word2k := CrieObjeto(´Word.Application´);
  Doc := Word2k.Documents.Open(´c:\dados\factoring\contrato de factoring.doc´);
  Word2k.Visible := true;


Não esqueça de adicionar ComObj e ActiveX na lista de uses do seu formulário.


Responder

Gostei + 0

21/08/2003

Mardônio

OK !!! Vou tentar... e muito obrigado.


Responder

Gostei + 0

06/09/2003

Albertocrosa

:D segui todo op código mas não consegui, ele dá dois erros:
undeclared identifier: ´crieobjeto´ e tb
undeclared identifier: ´word2k´
uso windows 98 e Windows XP, gostaria de saber sepoderia me ajudar :?:


Responder

Gostei + 0

06/09/2003

Aroldo Zanela

Colega,

A função CrieObjeto está no código abaixo e deve ser declarada na seção Interface do fomulário, a varável word2k deve ser declara local do formulário:

interface

{....}

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    function CrieObjeto(const ClasseNome: String): IDispatch;  // declaração
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
  word2K: Variant; // declaração

implementation

function TForm1.CrieObjeto(const ClasseNome: String): IDispatch; 
var Classifique_Id: TGUID; 
    Desconhecido: IUnknown; 
begin 
  Classifique_ID:=ProgIdToClassId(ClasseNome); 
  if Succeeded(GetActiveObject(Classifique_ID, nil, Desconhecido)) then 
    OleCheck(desconhecido.QueryInterface(Idispatch, Result)) 
  else 
    Result:=CreateOleObject(ClasseNome); 
end; 

procedure TForm1.btnContratoClick(Sender: TObject); 
var Doc: Variant; 
begin 
  Word2k := CrieObjeto(´Word.Application´); 
  Doc := Word2k.Documents.Open(´c:\dados\factoring\contrato de factoring.doc´); 
  Word2k.Visible := true; 



Responder

Gostei + 0

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

Aceitar