Einzelnen Beitrag anzeigen

Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#4
  Alt 28. Mär 2003, 18:29
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;
Thomas
  Mit Zitat antworten Zitat