Olá meu amigo, teste o código abaixo, ele eh bem funcional e bem simples, mas
se tiver alguma dúvida quanto a algo, fale comigo! Usei esse código a algum
tempo pra exportar dois memos pra dentro de tabela do word, mas já ajustei ele
pra trabalhar com os quatro que você precisa... Deu Sorte ; )
O código que você vai precisar é o que está abaixo da linha tracejada, mas eu
refiz a parte de cima do código também, já que você pode usar a mesma variável!
Não se atenha as minhas modificações, mas se lhe forem úteis, aí está!
var
I: Integer;
MSWord: Variant;
begin
for I := 0 to 3 do
begin
if Components[I] is TEdit then
with TEdit(Components[I]) do
Memo1.Lines.Add(Text);
end;
for I := 4 to 7 do
begin
if Components[I] is TEdit then
with TEdit(Components[I]) do
Memo2.Lines.Add(Text);
end;
for I := 8 to 11 do
begin
if components[I] is TEdit then
with TEdit(Components[I]) do
Memo3.Lines.Add(Text);
end;
for I := 12 to 15 do
begin
if Components[I] is TEdit then
with TEdit(Components[I]) do
Memo4.Lines.Add(Text);
end;
//-
MSWord := CreateOleObject('Word.Application');
try
// Novo documento
MSWord.Documents.Add;
// Adiciona tabela de 2 linhas e 3 colunas
MSWord.ActiveDocument.Tables.Add(Range := MSWord.Selection.Range, NumRows
:= 1, NumColumns := 4);
// Escreve na primeira célula
MSWord.Selection.TypeText(Text := Memo1.Text);
// Próxima célula
MSWord.Selection.MoveRight(1);
// Escreve
MSWord.Selection.TypeText(Text := Memo2.Text);
// Próxima célula
MSWord.Selection.MoveRight(1);
// Escreve
MSWord.Selection.TypeText(Text := Memo3.Text);
// Próxima célula
MSWord.Selection.MoveRight(1);
// Escreve
MSWord.Selection.TypeText(Text := Memo4.Text);
// Caso queira a linha abaixo deixa as colunas da tabela do tamanho do
texto!
MSWord.Selection.Tables.Item(1).Select; // Seleciona a 1º tabela
MSWord.Selection.Cells.AutoFit; // Auto-formata
// Salvar...
MSWord.ActiveDocument.SaveAs(FileName := 'c:\Teste1.doc');
finally
// Fecha documento
MSWord.ActiveDocument.Close(SaveChanges := 0);
end;
// Fecha o Word
MSWord.Quit;
end;
end;
Qualquer dúvida, não exite em enviar uma e-mail pra lista!
Bom Código
Ricardo Berti
- Original Message -
From: Julio Cesar Quierati
To: delphi br
Sent: Wednesday, January 17, 2007 4:37 PM
Subject: [delphi-br] configurar documento do word
Olá pessoal, estou exportando dados de 4 memos para o Word,
procedure
var i,j,l,m : integer;
word: variant;
begin
for i := 0 to 3 do
Begin
if components[i] is Tedit then
with TEdit(components[i]) do
Memo1.Lines.add(text);
end;
for j := 4 to 7 do
Begin
if components[j] is Tedit then
with TEdit(components[j]) do
Memo2.Lines.add(text);
end;
for l := 8 to 11 do
Begin
if components[l] is Tedit then
with TEdit(components[l]) do
Memo3.Lines.add(text);
end;
for m := 12 to 15 do
Begin
if components[m] is Tedit then
with TEdit(components[m]) do
Memo4.Lines.add(text);
end;
Word := CreateOleObject('Word.application');
Word.visible := True;
Word.Documents.Add;
Word.selection.insertAfter(memo1.Text);
Word.selection.insertAfter(memo2.Text);
Word.selection.insertAfter(memo3.Text);
Word.selection.insertAfter(memo4.Text);
//Word.ActiveDocument.Save('Teste1.doc',0) ;
end;
mas gostaria que eles fossem divididos em 4 colunas, uma para cada memo !
até.
by julio quierati
__
Fale com seus amigos de graça com o novo Yahoo! Messenger
http://br.messenger.yahoo.com/
[As partes desta mensagem que não continham texto foram removidas]
[As partes desta mensagem que não continham texto foram removidas]