Lo manipulas desde delphi, te agrego un ejemplo de como insertar un marcador en el documento, él cual lo puedes definir desde tu plantilla y solo posicionarte en él y agregar el texto.
Ahora si solo quieres posicionarte en el marcador, puedes utilizar esta instrucción:
WordApplication1.Selection.GoTo_(What, Which, Count, bkmkname);
y agregar el texto.
Código Delphi
[-]
procedure TForm1.AbreWord(Sender: TObject);
var
z, linea, step : Olevariant;
DOCFileName,NewDOCFileName,ItemIndex:OleVariant;
begin
DOCFileName := EmptyParam;
NewDOCFileName := True;
ItemIndex := 1;
CoInitialize(nil);
WordApplication1.Connect;
wordApplication1.Visible := true;
if FFileName<>'' then DOCFileName :=FFileName;
NewDOCFileName := False;
WordApplication1.Documents.Add(DOCFileName, NewDOCFileName,Emptyparam,emptyparam);
WordDocument1.ConnectTo(WordApplication1.Documents.Item(ItemIndex));
WordApplication1.Options.CheckSpellingAsYouType := False; WordApplication1.Options.CheckGrammarAsYouType := False;
WordDocument1.Range.InsertParagraphAfter;
with WordFont1 do
begin
ConnectTo( WordApplication1.Selection.Font );
if checkbox1.Checked then Italic := 1
else
Italic := 0;
end;
WordApplication1.Selection.Range.Set_Text(Edit1.Text); z:=wdMove;
linea := wdCharacter;
step := length(edit1.Text);
WordApplication1.Selection.MoveRight(linea,step,z) ;
end;
procedure TForm1.SetTextBookmark(BookmarkName,newText: string);
var
bkmkName: OleVariant;
begin
bkmkName := BookmarkName;
WordDocument1.Bookmarks.Item(bkmkName).Select;
WordApplication1.Selection.Set_Text(newText);
self.InsertBookmark(BookmarkName,'');
end;
procedure TForm1.InsertBookmark(BookmarkName,BookmarkText: string);
begin
if BookmarkName <> '' then
WordDocument1.Bookmarks.Add(BookmarkName, EmptyParam);
if BookmarkText <> '' then
self.SetTextBookmark(BookmarkName,BookmarkText);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
AbreWord;
InsertBookmark(edit2.text,Edit3.text); end;