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
Word := CreateOleObject('Word.Application');
Word.Documents.Add('carta.dot');
Documento := Word.Documents.Item(1);
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