Einzelnen Beitrag anzeigen

Benutzerbild von SMichels
SMichels

Registriert seit: 5. Okt 2011
3 Beiträge
 
#5

AW: OpenOffice Bookmarks löschen

  Alt 5. Okt 2011, 14:56
hey!

hab rausgefunden dass Bookmarks vom Typ XTextContent sind, und XTextContent stammt von XComponent. XComponent lässt sich über .dispose aus dem Dokument löschen.
Das sieht dann in meinem Quellcode so aus:

Delphi-Quellcode:
function OpenOfficeHandler.deleteBookmarks: boolean;
var
  bookmark, cursor : Variant;
  i: Integer;
  str : String;
begin
  result := TRUE;
  try
    // Durchläuft Die Liste der Textmarken vom hinten nach vorne
    for i := Document.Bookmarks.Count - 1 downto 0 do begin
      bookmark := Document.Bookmarks.getByIndex(i);

      // Speichert den Inhalt der Textmarke
      cursor := Document.getText.createTextCursorByRange(bookmark.Anchor);
      cursor.goRight(1, TRUE);
      str := TRIM(cursor.String);

      // Löscht die Textmarke und fügt den Text wieder ein
      bookmark.dispose;
      cursor.String := str;
    end;
  except
    result := FALSE;
  end;
end;
Mit dieser Funktion kann man jetzt Textmarken aus einem Dokument löschen ohne deren Inhalt zu löschen.

Geändert von SMichels ( 5. Okt 2011 um 15:04 Uhr)
  Mit Zitat antworten Zitat