AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

OpenOffice Bookmarks löschen

Ein Thema von SMichels · begonnen am 5. Okt 2011 · letzter Beitrag vom 5. Okt 2011
Antwort Antwort
Benutzerbild von SMichels
SMichels

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

OpenOffice Bookmarks löschen

  Alt 5. Okt 2011, 12:31
Hallo Community!

Ich bin neu hier und befasse mich seit kurzem intensiv mit Delphi. Jetzt bin ich zum ersten Mal kurz vor der Verzweiflung weil es einfach nicht klappen will.

Es geht um den schon oft diskutierten Zugriff auf die OpenOffice Api. Leider habe ich in der Suche und generell bei Google keine Lösung zu meinem Problem gefunden

Ich möchte gern leere Bookmarks in einem OpenOffice Dokument löschen. Ich möchte eine Textmarke nicht leeren, sondern komplett aus der Bookmarkliste entfernen.

Versucht habe ich es schon :

Delphi-Quellcode:
// so
Document.Bookmarks.Clear;
// oder so
Document.Bookmarks.removeAll;
// oder so
Bookmark := Document.Bookmarks.getByName('DataSource_Name').delete;
// oder so
Bookmark := Document.Bookmarks.getByName('DataSource_Name').remove;
Weiß Jemand die Lösung?
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.379 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: OpenOffice Bookmarks löschen

  Alt 5. Okt 2011, 14:12
Hi,

über "Bookmarks" auf jeden Fall nicht, da das nur die Interfaces XNameAccess und XINdexAccess unterstützt. Über com.sun.star.text.XBookmarkInsertTool kannst Du Bookmarks einfügen, aber fürs Löschen habe ich auf die Schnelle nichts gefunden.

Warum willst Du die Bookmarks überhaupt aus dem Text entfernen?
  Mit Zitat antworten Zitat
Benutzerbild von SMichels
SMichels

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

AW: OpenOffice Bookmarks löschen

  Alt 5. Okt 2011, 14:23
hallo Lemmy!

Das ist ja schon mal eine Spur

Ich möchte die bookmarks komplett entfernen weil man beim Öffnen des Dokuments mit Word die leeren Textmarken noch sieht. Je nachdem wie viele es sind, sieht das ziehmlich eklig aus.
Es muss ja irgendwie gehen.. schließlich kann man Textmarken über die Oberfläche von OpenOffice auch löschen.

Ich versuch ma mit deinem Tipp zu arbeiten, danke für die schnelle Antwort!

Geändert von SMichels ( 5. Okt 2011 um 14:35 Uhr)
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.379 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: OpenOffice Bookmarks löschen

  Alt 5. Okt 2011, 14:27
Hi,

wenn Du was findest, bin ich über eine Info nicht böse

Das SDK hast Du? Und wegen der unschönen Ansicht: Normalerweise ist die Anzeige der Textmarken abgeschaltet und kann in WOrd auch relativ einfach gemacht werden. Wo, das suchst Du am besten in der aktuellen Hilfe deines Words.

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von SMichels
SMichels

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

AW: OpenOffice Bookmarks löschen

  Alt 5. Okt 2011, 15: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 16:04 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz