Hi,
Die Textmarken mit wdGoToBookmark anzusprechen ist eine Möglichkeit.
Es ist aber - so habe ich gehört - manchmal nicht so zuverlässig.
Andere Möglichkeit: Die Textmarken über das Bookmarks-Range anzusprechen.
Hier mal ein kleines Beispiel:
Code:
uses
ComObj;
procedure TForm1.Button1Click(Sender: TObject);
var
BookmarkName, Doc, WordApp, R: OleVariant;
begin
// Word Instanz Starten
try
WordApp := CreateOleObject('Word.Application');
except
ShowMessage('Could not start Word !');
Exit;
end;
// Dok. öffnen
WordApp.Documents.Open('c:\titel.doc');
Doc := WordApp.ActiveDocument;
// Name der Textmarke
BookmarkName := 'DeineTextMarke';
// Überprüfen, ob Textmarke vorhanden
if Doc.Bookmarks.Exists(BookmarkName) then
begin
R := Doc.Bookmarks.Item(BookmarkName).Range;
// Text bei Textmarke einfügen
R.InsertAfter('Text bei Textmarke');
R.Font.Color := clRed;
end;
// Dokument Speichern und Word beenden.
if not VarIsEmpty(WordApp) then
begin
WordApp.DisplayAlerts := 0;
WordApp.Documents.Item(1).Save;
WordApp.Quit;
BookmarkName := Unassigned;
R := Unassigned;
WordApp := Unassigned;
end;
end;