Hola tengo una consulta en sql q me genera una tabla como hago para pasar esa tabla a un documento ya creado.
el codigo es el sgte:
Envio unos datos de parametro al documento .dot de word q tengo creado
Código Delphi
[-]
Procedure TForm1.SpeedButton3Click(Sender: TObject);
var
Word: Variant;
Documento: Variant;
begin
Try
Word := CreateOleObject('Word.Application');
Word.Documents.Add('C:\SOFTWARE_NOMINA\CertificadoLaboralNormal.dot');
Documento := Word.Documents.Item(1);
Documento.Variables.Add('NroCertificado', EdConsecutivo.Text);
Documento.Variables.Add('Nombre', Ednombres.Text);
Documento.Variables.Add('Cedula', EdCedula.Text);
Documento.Fields.ToggleShowCodes;
Documento.Fields.Update;
Word.ActiveDocument.SaveAs('C:\SOFTWARE_NOMINA\CertificadoLaboralNormalTmp'+EdConsecutivo.Text);
Word.Visible := true;
ShowMessage('Operación Completada!!');
End
except
on exception do
begin
Word.quit;
end;
end;
Realizo mi sql del query y luego lo mando a crear la tabla:
Código Delphi
[-]
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;
pero yo necesito es pasar esa tabla al documento q tengo y al que envie los datos de parametro.
quien me colabora!!