procedure DumpWord(DataSet: TDataSet; WordDoc: TWordDocument; Nom:String);
var
WordTable: Table;
RowCount, ColCount: Integer;
RowIndex, ColIndex: Integer;
FileName: OleVariant;
begin
DataSet.Open;
DataSet.Last;
DataSet.First;
Try
RowCount := DataSet.RecordCount;
ColCount := DataSet.Fields.Count;
WordDoc.Disconnect;
WordDoc.Connect;
WordTable := WordDoc.Tables.Add(WordDoc.Range, RowCount+1, ColCount, EmptyParam, EmptyParam);
for ColIndex := 1 to ColCount do
begin
WordTable.Cell(1, ColIndex).Range.Font.Bold := 1;
WordTable.Cell(1, ColIndex).Range.Font.Size := 8;
WordTable.Cell(1, ColIndex).Range.Text := DataSet.Fields[ColIndex - 1].FieldName;
WordTable.Cell(1, ColIndex).Range.Paragraphs.Alignment := wdAlignParagraphCenter;
end;
RowIndex := 2;
while not DataSet.Eof do
begin
for ColIndex := 1 to ColCount do
begin
WordTable.Cell(RowIndex, ColIndex).Range.Font.Size := 8; if (ColIndex >= 2 )then WordTable.Cell(RowIndex, ColIndex).Range.Text := '$ '+(FormatFloat('#0,',StrToFloat(DataSet.Fields[ColIndex - 1].AsString )))
else
WordTable.Cell(RowIndex, ColIndex).Range.Text := DataSet.Fields[ColIndex - 1].AsString;
end;
Inc(RowIndex);
DataSet.Next;
end;
WordDoc.Range.InsertParagraphAfter;
WordDoc.Range.InsertAfter('Valores Devengados del Empleado '+Nom+' Por Fechas.');
FileName:='c:\SOFTWARE_NOMINA\PlantillaHistorialTmp.dot' ;
WordDoc.SaveAs(FileName);
finally
WordDoc.Application.Visible := true;
end;
end;