Re: [delphi-br] configurar documento do word

2007-01-18 Por tôpico Ricardo Berti
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]



[delphi-br] configurar documento do word

2007-01-17 Por tôpico Julio Cesar Quierati
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]