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]

Responder a