Ver Mensaje Individual
  #1  
Antiguo 18-11-2017
Franfarnaz Franfarnaz is offline
Registrado
NULL
 
Registrado: oct 2017
Posts: 6
Reputación: 0
Franfarnaz Va por buen camino
Exportar Datos de DBGrid a Word

Hola a todos.

Vengo trabajando en una aplicación para administrar procesos legales y llego al punto de brindarle al usuario la opción de imprimir un reporte de seguimiento a cada proceso. este seguimiento se puede visualizar en pantalla a través de un DBGrid. esta información que esta en el DBGrid quiero pasarla a word alojandola en campos Docvariables. Como puedo crear tantas variables sean necesarias?

Código Delphi [-]
Word := CreateOleObject('Word.Application');
  Word.Documents.Add('D:\Planilla.dot');
  Documento := Word.Documents.Item(1);

  while not DBGrid1.DataSource.DataSet.Eof do
  begin
    A:=Dbgrid1.Fields[0].AsString;
    B:=DBGrid1.Fields[1].AsString;
    C:=DBGrid1.Fields[2].AsString;
    Documento.Variables.Add('Nombre', A);
    Documento.Fields.Update;
    DBGrid1.DataSource.DataSet.Next;

  end;
  Word.ActiveWindow.View.ShowFieldCodes := false;
  Word.Visible := true;
  Word.Documents.Save;

En el codigo anterior recorro todo el db grid, pero solo tomo de ese recorrido los campos que necesito y los guardo en las variables A,B y C. de momento solo tomo lo guardado en la variable A y lo exporto a el campo creado en la plantilla que se llama NOMBRE (es un campo DocVariable). pero si mi registro es mas de uno, cuando se quiera exportar el segundo me genera un error por que ese campo en word ya le fue asignado un valor. por eso es la necesidad de crear esos campos desde el codigo.

Se que a través del método Documento.fields.Add( Range , Type , Text , PreserveFormatting ), se generan los campos, pero no lo he conseguido hacer en delphi 7.

gracias de antemano.
Responder Con Cita