Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-11-2017
Franfarnaz Franfarnaz is offline
Registrado
NULL
 
Registrado: oct 2017
Posts: 6
Poder: 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
  #2  
Antiguo 18-11-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Mira los enlaces de final de página.
Responder Con Cita
  #3  
Antiguo 19-11-2017
Franfarnaz Franfarnaz is offline
Registrado
NULL
 
Registrado: oct 2017
Posts: 6
Poder: 0
Franfarnaz Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Mira los enlaces de final de página.
Muy amable señor, pero en los link que mencionas y los links que se mencionan dentro de los post que me recomiendas, algunos nunca recibieron ayuda y los que recibieron solo hacen referencias a campos creados previamente en la plantilla. lo que trato de hacer es a través de un comando crear estos campos desde el código en delphi para así poder exportar tantas variables sean necesarias. muy agradecido por su colaboracion.
Responder Con Cita
  #4  
Antiguo 19-11-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Esto puede ser?
Responder Con Cita
  #5  
Antiguo 19-11-2017
Franfarnaz Franfarnaz is offline
Registrado
NULL
 
Registrado: oct 2017
Posts: 6
Poder: 0
Franfarnaz Va por buen camino
aGracias por responder, pero no....ese enlace trata el mismo tema de los otros sobre exportar a excel, busco es exportar a word pero sin crear campos DocVariables predefinidos en la plantilla, si no crearlos desde el codigo mediante el comando doc.fields.add que aun no logro hacerlo funcionar en delphi.
Responder Con Cita
  #6  
Antiguo 20-11-2017
Franfarnaz Franfarnaz is offline
Registrado
NULL
 
Registrado: oct 2017
Posts: 6
Poder: 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
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Exportar Datos de DBGrid a archivo Excel moise094 Impresión 8 02-05-2012 21:50:12
Problema al exportar datos a platilla rtf en word 2003 ingabraham Varios 0 08-10-2010 16:00:41
exportar datos a word luxus OOP 1 26-08-2008 13:01:00
Exportar datos a Word didier Servers 3 18-05-2004 20:17:11
Exportar datos a Word y darle formato nefy Servers 0 04-12-2003 01:07:20


La franja horaria es GMT +2. Ahora son las 20:36:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi