var
Word1, Dokument1: OleVariant;
procedure TForm1.Button3Click(Sender: TObject);
const
wdFieldPage = 33;
wdFieldNumPages = 26;
wdAlignParagraphRight = 2;
wdSeekCurrentPageFooter = 10;
begin
Word1 := CreateOleObject('Word.Application');
Dokument1 := Word1.Documents.Add;
try
// Fußzeile öffnen
Word1.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrentPageFooter;
// dann rechtsbündig ausrichten
Word1.Selection.ParagraphFormat.Alignment := wdAlignParagraphRight;
// Eingabe "Seite "
Word1.Selection.TypeText('Seite ');
// Seiten-Nummer einsetzen
Word1.Selection.Fields.Add(Word1.Selection.Range, wdFieldPage);
// Eingabe " von "
Word1.Selection.TypeText(' von ');
// Seiten-Anzahl einsetzen
Word1.Selection.Fields.Add(Word1.Selection.Range, wdFieldNumPages);
// von Fußzeile zurück ins Dokument
Word1.ActiveWindow.ActivePane.View.SeekView := 0;
// Dokument speichern
Dokument1.SaveAs('C:\test.doc');
finally
if not VarIsEmpty(Word1) then Word1.Quit;
end;
end;