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
Curtir tópico
+ 0
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:
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
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.
Obrigado por sua atenção e resposta à minha questão. Vou fazer os testes para ver se consigo fazer funcionar.
Abraço.
Responder
Clique aqui para fazer login e interagir na Comunidade :)