Ver Mensaje Individual
  #2  
Antiguo 18-04-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita