Fórum Exportando para Word (ou apenas criando um .doc) #170776

22/07/2003

0

Pessoal estou fazendo um programa de gerênciamento de correspondências.

Gostaria que quando o usuário solicitar nova correspondência seja gerado um arquivo .doc e nele sejam colocadas algumas informações como data e número da correspondência.

Alguém saberia me dizer como posso invocar um arquivo .doc e enviar as informações para ele?

Valeu a ajuda.

FCS


Fcs-bh

Fcs-bh

Responder

Posts

22/07/2003

Ilanocf

Tente o seguinte:

Coloque os seguintes componentes:
- WordApplication1
- WordDocument1
- WordFont1
- WordParagraphFormat1

------------------------------------------------------------------
procedure TForm1.SpeedButton1Click(Sender: TObject);
Var
Texto, Titulo:WideString;
begin

WordApplication1.Connect;
WordApplication1.Visible:=True;
//TÍTULO DO DOCUMENTO:
//---------------------------------------------------
Titulo:=´UNIDADE CENTEC DE JUAZEIRO DO NORTE´ + #13 + 13 + ´CERTIFICADO´ + 13 + 13;
WordDocument1.Content.InsertAfter(Titulo);// Insere o título do documento.
//---------------------------------------------------


//CORPO DO DOCUMENTO:
//---------------------------------------------------
WordFont1.ConnectTo(WordDocument1.Content.Font);
WordFont1.Bold:=0; //Não aplica o negrito o texto
//WordFont1.Bold:=1; //Aplica o negrito
WordFont1.Italic:=0; //Não aplica o itálico no texto
//WordFont1.Italic:=1; //Aplica o itálico
WordFont1.Size:=12; //Aplica o tamanho da fonte para 20
WordParagraphFormat1.ConnectTo(WordDocument1.Content.Get_ParagraphFormat);
Texto:=#9 + ´Certifico que, ´ + Table1NomeDoAluno.Text + ´filho(a) de ´ + Table1NomeDoPai.Text + ´ e ´ + Table1NomeDaMae.Text + ´, nascido(a) em ´ + Table1DataDeNascimento.Text + ´ na cidade de ´ + Table1Cidade.Text;
WordDocument1.Content.InsertAfter(Texto);// Insere o texto da tabela.
//Application.Minimize; // Minimiza sua aplicação.
//---------------------------------------------------

end;
------------------------------------------------------------------

Caso vc use o Paradox e queira já deixar tudo tabulado certinho no Word, recomendo-lhe fazer o seguinte:

1 - Crie uma tabela no Access com os mesmos campos de sua tabela ou consulta Paradox;
2 - Crie duas rotinas: uma para excluir todos os registro já copiados na tabela Access e outra para copiar todos os registros da tabela ou consulta em Paradox para a tabela q vc criou em Access, dessa forma seus dados serão sempre atualizados (não será necessário criar uma chave primária na tabela Access);
3 - Crie dentro do Access uma consulta personalizando suas informações;
4 - Crie no Word uma mala direta vinculada à consulta do Access.

Dessa forma, vc terá todos os documentos já prontinhos e com suas formatações (negrito, itálico, centralizado, justificado, etc.) já prontas. Vc poderia vincular a mala direta para o Paradox, só q existe um problema: as letras acentuadas em sua tabela serão representadas graficamente por símbolos. Já passei por esta experiência e foi um sufoco! Mas resolvi assim. Se precisar da rotina, aí está:

------------------------------------------------
procedure TForm1.BtnExecutarClick(Sender: TObject);
Var
I:Integer;
begin
Dados.First;
while not Dados.Eof do begin
TBCertidoes.Append;
for i := 0 to Dados.FieldCount - 1 do
TBCertidoes.FieldByName(Dados.Fields[i].FieldName).Value :=Dados.Fields[i].Value;
TBCertidoes.Post;
Dados.Next;
end;
end;
------------------------------------------------

Espero ter ajudado!

Ilano.


Responder

Gostei + 0

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

Aceitar