Sites Grátis no Comunidades.net

Página Pessoal de José António Mendes Silva


Rating: 2.5/5 (396 votos)




ONLINE
1







Total de visitas: 1035723
Exportar dados para o Word

Inserir ComObj no uses

procedure TFormFiltro.ExportaWordClick(Sender: TObject);
var MsWord: Variant;
    S1, S2, S3, Sa, Sb, Sc, Sd, STitulo: string;
begin
  { Abre o Word }
  MsWord := CreateOleObject('Word.Application');
  try
    { Novo documento }
    MsWord.Documents.Add;
    with TFormProgresso.Create(nil) do    //Para criar um form para mostrar o progresso
    try
      ProgressBar1.Max := DMAvarias.QyFiltro.RecordCount;
      Show;   // show a splash screen contain ProgressBar control
      Update; // force display of Form5
      DMAvarias.QyFiltro.First;
      STitulo:= DMAvarias.QyFiltro.fieldbyname('Equipamento').AsString;
      STitulo:= STitulo + ' ';
      STitulo:= STitulo + DMAvarias.QyFiltro.fieldbyname('Marca').AsString;
      MsWord.Selection.TypeText(Text:= STitulo);
      MsWord.Selection.TypeParagraph;
      while not DMAvarias.QyFiltro.Eof do
      begin
        MsWord.Selection.TypeParagraph;
        Sa:= DMAvarias.QyFiltro.fieldbyname('Equipamento').AsString;
        Sb:= DMAvarias.QyFiltro.fieldbyname('Marca').AsString;
        Sc:= DMAvarias.QyFiltro.fieldbyname('Modelo').AsString;
        Sd:= DMAvarias.QyFiltro.fieldbyname('Chassis').AsString;
        S2:= 'Sintoma: ' + DMAvarias.QyFiltro.fieldbyname('Sintoma').AsString;
        S3:= 'Defeito: ' + DMAvarias.QyFiltro.fieldbyname('Defeito').AsString;
        if Sb<>'' then S1:= Sa+', '+Sb;
        if Sc<>'' then S1:= S1+', '+Sc;
        if Sd<>'' then S1:= S1+', '+Sd;
        MsWord.Selection.TypeText(Text:= S1);
        MsWord.Selection.TypeParagraph;
        MsWord.Selection.TypeText(Text:= S2);
        MsWord.Selection.TypeParagraph;
        MsWord.Selection.TypeText(Text:= S3);
        MsWord.Selection.TypeParagraph;
        DMAvarias.QyFiltro.Next;
        ProgressBar1.StepBy(1);
      end;
      MsWord.ActiveDocument.SaveAs(FileName := 'd:'+STitulo+'.doc');    //Salva o arquivo
    finally
      Free;
    end;
  finally
    MsWord.ActiveDocument.Close(SaveChanges := 0);    { Fecha documento }
    MsWord.Quit;         { Fecha o Word }
  end;
  SHOWMESSAGE('     Ficheiro criado!     ');
end;