Ver Mensaje Individual
  #34  
Antiguo 27-01-2009
NashvilleX NashvilleX is offline
Registrado
 
Registrado: ene 2009
Posts: 1
Reputación: 0
NashvilleX Va por buen camino
Talking

Cita:
Empezado por roman Ver Mensaje
Es muy sencillo. Creas la plantilla .dot en Word usando campos de tipo DocVariable (menú Insertar|Campo). A cada campo le asignas un nombre al momento de insertarlo. El documento .dot te quedaría más o menos así:


Señor
{ DOCVARIABLE nombre\* MERGEFORMAT }
{ DOCVARIABLE direccion\* MERGEFORMAT }

Estimado, le comunicamos que con fecha { DOCVARIABLE fecha\* MERGEFORMAT }, usted tiene una deuda de { DOCVARIABLE deuda\* MERGEFORMAT }, le rogamos regularizar su situacion.

Atentamen el cobrador

Conviene que actives la visualización de campos en el menú Herramientas|Opciones|Ver.

En Delphi, puedes llenar la plantilla así:

Código Delphi [-]

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;


Claro está que los valores que asignes a los campos los puedes tomar de una consulta a la base de datos o de cualquier otra fuente.

// Saludos

Agradezco mucho la ayuda. Menos mal que encontré este hilo para enterarme del método que enseñas.

Gracias
Responder Con Cita