Ver Mensaje Individual
  #6  
Antiguo 20-11-2017
Franfarnaz Franfarnaz is offline
Registrado
NULL
 
Registrado: oct 2017
Posts: 6
Reputación: 0
Franfarnaz Va por buen camino
Ok revisando por todas las paginas posibles en varios idiomas hasta donde los entiendo, ninguno trabaja de la forma que busco la Automatizacion en Word desde delphi, por lo que Decidí usar una sola variable que me guardara todos los registros del DbGrid y con la ayuda de saltos de linea logra darle una apariencia aceptable al informe. Espero algún día alguien encuentre la forma de crear docvariables desde el código. hasta hoy esta fue mi solucion:

Código Delphi [-]
procedure TVisual_Seguimiento.btn2Click(Sender: TObject);
var
  Word, Range: Variant;
  Documento,A, B, C, S,Codigo : Variant;
  i,o: Integer;
  Val, FldType,r,NomVar, FileName, TypeDoc: OleVariant;
  ArchTexto: TextFile;
begin

  Word := CreateOleObject('Word.Application');
  Word.Documents.Open('D:/Planilla.dot');
  Documento := Word.Documents.Item(1);
  //Recorro Todo el DbGrid
  while not DBGrid1.DataSource.DataSet.Eof do
  begin
    //Selecciono los campos que requiero del DBGrid, La variable código es para otro propósito.
    Codigo:=DBGrid1.Fields[1].AsString;
    A:=DBGrid1.Fields[0].AsString;
    B:=DBGrid1.Fields[2].AsString;
    C:=DBGrid1.Fields[3].AsString;
    S:=  'Fecha:'+' '+ A +#13+ 'Observaciones:'+' ' + B +#13+  'Estado:'+' ' + C +#13+ '--------------------------------------------' +#13;
    NomVar:= NomVar + S;
    DBGrid1.DataSource.DataSet.Next;

  end;
  Documento.Variables.Add('Reporte', NomVar);
  Documento.Fields.Update;
  Word.ActiveWindow.View.ShowFieldCodes := False;
  Word.Visible := true;
  Word.Documents.Save;

end;
Responder Con Cita