...insert text at a Bookmark (MS Word)?

Author: Thomas Stutz

Category: Objects/ActiveX

uses
  
ComObj;

procedure TForm1.Button1Click(Sender: TObject);
const
  
// Word Document to open
  // Dein Word Dokument
  
YourWordDocument = 'c:\test\worddoc.doc';
var
  
BookmarkName, Doc, R: OleVariant;
begin
  
// Start a Word instance
  // Word Instanz Starten
  
try
    
WordApp := CreateOleObject('Word.Application');
  except
    
ShowMessage('Could not start MS Word!');
  end;
  // Open your Word document
  // Dok. öffnen
  
WordApp.Documents.Open(YourWordDocument);
  Doc := WordApp.ActiveDocument;

  // name of your bookmark
  // Name der Textmarke
  
BookmarkName := 'MyBookMark';

  // Check if bookmark exists
  // Überprüfen, ob Textmarke vorhanden
  
if Doc.Bookmarks.Exists(BookmarkName) then
  begin
    
R := Doc.Bookmarks.Item(BookmarkName).Range;
    // Add text at our bookmark
    // Text bei Textmarke einfügen
    
R.InsertAfter('Text bei Textmarke');
    // You make a text formatting like changing its color
    // Man kann nun auch den Text formatieren. z.B die Farbe wechseln.
    
R.Font.Color := clRed;
  end;

  // Save your document and quit Word
  // 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;

 

printed from
www.swissdelphicenter.ch
developers knowledge base