Word com Delphi 10.1

26/09/2017

0

Olá. Estou experimentando o Delphi 10.1 e gostaria de preencher um arquivo Word (tipo mala direta) usando o Delphi. Já havia montado um arquivo assim usando o Delphi 6, porém não estou conseguindo achar uma forma de fazer no Delphi 10.1 (Berlin). Alguém teria essa informação? Obrigado.
Ludgero Senhorine

Ludgero Senhorine

Responder

Post mais votado

25/01/2018

Olá Ludgero, vou te explicar a forma que uso em minhas aplicações e tem me atendido bem na integração Delphi Seattle e Word, acredito que não terá problemas no Berlin.

No Word, o local a ser preenchido eu costumo utilizar com os Indicadores do Word, você irá encontra-lo na guia Inserir / Indicador.

Você seleciona a palavra ou a tag criada, no exemplo que usei criei uma tag no word <NomeUsuario> selecionei ela, cliquei em Inserir/Indicador e dei o nome de NomeUsuario, que usarei no código abaixo:

Uses ShellAPI, ComObj, WordXP;

procedure TfrmCalcDVD.PreencherDoc;
var
  Word, Doc, Docs : Variant;
begin
  Word := CreateOleObject('Word.Application');
  Word.Visible := False;
  Docs := Word.Documents;
  Doc := Docs.Open(ExtractFilePath(Application.ExeName) + 'ModeloDocumento.dotx', EmptyParam, True);

  Doc.Bookmarks.Item('NomeUsuario').Select;
  Doc.ActiveWindow.Selection.Text := 'Nome Teste';

  Doc.SaveAs(ExtractFilePath(Application.ExeName) + 'ArquivoTeste.doc', 0);
  Doc.Close(False, wdFormatDocument, False);
  Word.quit;
end;

Jerson Boer

Jerson Boer
Responder

Mais Posts

25/01/2018

Ludgero

Olá Jerson,
Obrigado por sua atenção e resposta à minha questão. Vou fazer os testes para ver se consigo fazer funcionar.
Abraço.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar