Passar parâmetros para Word a partir do Delphi - Dica

Veja nesta dica como passar valores para parâmetros direto em um documento do Word em Delphi.

Olá galera, nesta dica irei mostrar como passar valores para um documento do Word. Desenvolvi um Doc padrão com o nome de Modelo.DOC, veja sua estrutura.

Certificado

Certifico o aluno @aluno, participante do treinamento @treinamento, com carga horária de @horario hrs.

Equipe Devmedia.

www.devmedia.com.br.

Agora podemos alterar os dados que estão como parâmetros, na verdade, este @aluno, @treinamento e @horario são valores que eu criei, não é regra.

Vamos desenvolver uma tela para passagem de parâmetros.

E no click do botão iremos passar os paraemtros . mas antes disto precisamos declarar no USES a unit "ComObj", para que o exemplo funcione corretamente.

procedure TFrmPrincipal.BtnGerarClick(Sender: TObject); var WinWord, Docs, Doc: Variant; begin WinWord := CreateOleObject('Word.Application'); // Tornar o word visivel WinWord.Visible := True; // Abrir arquivo para edição Doc:= WinWord.Documents.Open(ExtractFilePath(Application.ExeName)+'Modelo.doc' // Substituir itens do arquivo por texto escolhido Doc.Content.Find.Execute(FindText := '@aluno' , ReplaceWith := EdtNome Doc.Content.Find.Execute(FindText := '@treinamento', ReplaceWith := EdtTreinamento Doc.Content.Find.Execute(FindText := '@horario' , ReplaceWith := EdtHorario // Salvar Documento Doc.SaveAs(ExtractFilePath(Application.ExeName) + EdtNome.Text + '.doc'); if Application.MessageBox('Deseja Fechar o Documento?','Confirmação',MB_ICONQUESTION WinWord.Quit; // Fechar end;

Observe que será criado um arquivo .doc, na pasta do executável com o nome do aluno, mantendo assim sempre o documento padrão.

Fico por aqui ate à próxima Quick Tips.

Um abraço

Wesley Y

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados