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
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo