Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Servers (https://www.clubdelphi.com/foros/forumdisplay.php?f=9)
-   -   Relleno de campos en word desde delphi (https://www.clubdelphi.com/foros/showthread.php?t=54596)

aanil 25-03-2008 01:07:54

Relleno de campos en word desde delphi
 
Hola a todos.

Encontre este codigo en el foro que me puede servir para llenar unos cuantos campos de una plantilla que tengo hecha en word. Mi necesidad esta en que como hago en el siguiente codigo que los datos consultados en una tabla desde delphi se coloquen en los campos variables, o sea:

Documento.Variables.Add('nombre', 'pepe pérez'); pepe perez sea el nombre que tome de la tabla consultada, y asi con los demas campos variable de la plantilla que tengo hecha en Word

Veamos el codigo que si funciona, pero no a mi necesidad:

Gracias por adelantado.

AANIL
Rep. Dominicana


uses ComObj;...
var
Word: Variant;
Documento: Variant;
begin
(* Creas un objeto Word *)
Word := CreateOleObject('Word.Application');
(* Añades un documento basado en la plantilla *)
Word.Documents.Add('carta.dot');
Documento := Word.Documents.Item(1);
(* Asignas valores a los campos *)
Documento.Variables.Add('nombre', 'pepe pérez');
Documento.Variables.Add('direccion', 'domicilio conocido');
Documento.Variables.Add('fecha', '1976-02-29');
Documento.Variables.Add('deuda', '$1.00 m.n');
end;
End.

enecumene 25-03-2008 15:26:16

Hola, en realidad no estoy entendiendo muy bien lo que quieres hacer, a ver, quieres que haciendo una consulta a traves de un query mostrar los resultados de la consulta en las variables de la plantilla, no?, bueno si es asi eso es algo muy sencillo si no es asi me lo haces saber:

Código Delphi [-]
 uses ComObj;...
var  
Word: Variant;  
Documento: Variant;
begin  
   (* Creas un objeto Word *)  
   Word := ComObj.CreateOleObject('Word.Application');  
   (* Añades un documento basado en la plantilla *)  
   Documento :=   Word.Documents.Add('carta.dot');  
  (* Asignas valores a los campos *)  
  Documento.Variables.Add('nombre',     Query1.fieldbyname('nombre').asstring);
  Documento.Variables.Add('direccion',Query1.fieldbyname('domicilio').asstring);  
  Documento.Variables.Add('fecha',Query1.fieldbyname('fecha').asstring);  
  Documento.Variables.Add('deuda', Query1.fieldbyname('deuda').asstring);
 end;
End.

espero que te funcione.

Saludos.

aanil 25-03-2008 23:18:16

Relleno de campos en word desde delphi
 
Hola Enecumene, gracias por sus orientaciones, ya estamos cerca.

Esto me funciona perfecto cuando solo consulto por ejemlo un estudiante de un listado y solo se llena la ficha con ese estudiante.

Lo que busco es que si yo filtro todos los estudiantes de una seccion X, todos estos se puedan imprimir en la ficha o plantilla, por ejemplo con access y word en combinar correspondencia se hace facil, pero que resulta que tengo una base de datos de estudiantes que tiene varias tablas relacionadas y quiero que los estudiantes filtrados en mi base de datos se impriman en un formulario que ya esta pre-impreso.

Yo se dirigir los campos a los lugares donde deben de imprimir los datos, es mas o menos como un certificado, que tiene nombre del estudiante, su codigo, el grado, fecha.....

Estaba tratando de hacerlo con QReport pero resulta muy tedioso ubicar donde deben caer los campos.

Si lo desea te puedo enviar el modelo en WORD del Certificado.

Gracias de nuevo

rafasm 17-04-2008 15:54:51

Por que no lo haces las platillas en excel
 
Hola que tal soy de mexico, yo te suguiero que para lo que necesitas es mejor hacer las platillas en excel, es mucho mas facil hacer referencia a celdas.


La franja horaria es GMT +2. Ahora son las 18:06:54.

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