Entwickler-Ecke

Sonstiges (Delphi) - Textmarken in OpenOffice über Delphi füllen


Dhakiyah - Fr 12.03.10 11:04
Titel: Textmarken in OpenOffice über Delphi füllen
Hallo!
Leider weiß ich gar nicht wie ich sowas machen kann.
Ganz simples Beispiel würde mir reichen.
Ein OpenOffice Text Dokument wo eine Textmarke NAME drin steht.
Und ein Delphi Programm in dem im Edit-Feld SCHMIDT drin steht.
Wie mache ich das, dass Delphi den Namen Schmidt in die Textmarke Name schreibt?
Muss ich da noch was öffnen oder so?
Hab wirklich gar keine Ahnung...


Sybok Factor - Fr 12.03.10 12:32

Hallo Dhakiyah,
ich habe leider nicht alles griffbereit. Aber wenn du das aktive OO-Dokument ermittelt hast, dann sollten dir die folgenden Zeilen helfen.
Im Übrigen falls du ein Buch zur OO Makro-Programmierung hast, kannst viele der Makrobefehle entsprechend anwenden.


Delphi-Quelltext
1:
2:
3:
4:
5:
// vBookmarks, vBookmark, vMyCursor = als Variant deklariert
// vBookmarks = Liste der Bookmarks kann aus dem aktiven Dokument mit .getBookmarks ermittelt werden
vBookmark := vBookmarks.getByName('Name');
vMyCursor := vBookmark.Anchor.Text.createTextCursorByRange(vBookmark.Anchor);
vMyCursor.String := 'Schmidt';


Viele Grüße
Sybok Factor


Lemmy - Sa 13.03.10 16:41

Hi,

kannst dir hier ein kleines Beispiel runter laden:

http://www.downloads.delphitutorials.de/projects/oo-export.zip

das sind ein paar Klassen, die dir den Einstieg erleichtern, die kannst Du direkt verwenden oder dir das notwendige Material da raus ziehen. Allerdings sind die schon älter, sollten aber grundsätzlich mit OO Version 3 funktionieren.


BenBE - Di 23.03.10 18:23

Zur Not: ODF ist eine ZIP mit mehreren XML-Files drinnen. Einfach die Dateien durchschauen (und den Standard lesen) und dann entsprechend das XML manipulieren.