![]() |
insertDocumentFromURL und OpenOffce
Hi,
seit Wochen versuche ich eine RTF in ein OpenOffice einzufügen. :cry: Das heißt in einem bestehenden Dokument eine RTF Datei an eine bestimmte Stelle, per "StarBasic" einzufügen. Alle Lösungen die gefunden habe, sind in anderen Programmiersprachen verfasst. Irgendwie komme ich über die letzte Hürde nicht hinweg. Ich erzeuge den Textcursor:
Delphi-Quellcode:
Dann einen Poperty:
tc := Document.Text.createTextCursorByRange(bm.Anchor);
Delphi-Quellcode:
Dann sollte das Dokument geladen werden:
VariantArr := VarArrayCreate([0, 0], varVariant);
VariantArr[0] := MakePropertyValue('FilterName','Rich Text Format');
Delphi-Quellcode:
Geht aber nicht !!! Da passiert gar nix.
tc.InsertDocumentFromUrl(rtfFile,VariantArr);
Das Dokument liegt aber wirklich an der Stelle ! Ich hab einen C-Source gefunden da werden einfach statt VariantArr 'ne Klammer übergeben: "()" (für leer :?: )
Code:
Ein Delphi-Source-Schnipsel den ich nicht verstehe lößt es folgendermaßen:
cursor.insertDocumentFromURL(fileUrl, ())
Delphi-Quellcode:
Ich weiß aber nicht was hinter: VarArrayCreate([0, - 1], varVariant) steht.
theTextCurser := Document.Text.CreateTextCursor;
theTextCurser.insertDocumentFromURL(ooFileName, VarArrayCreate([0, - 1], varVariant) ); Aber ich habs probiert und hat auch nix genützt. Ein Makro meint das es folgendermaßen geht:
Code:
Ich dachte ein leeres Variant würde auch funktionieren, tut es aber auch nicht.
Dim Dummy as Object
oCursor.InsertDocumentFromUrl("agb.sxw",Dummy) Wäre ja toll, dann müsste man das Format gar nicht erst angeben und Open Office könnte einfach "alles" (was es kennt) laden/importieren. Weiß jemand Abhilfe ? Oder meinen "Hirn-Bug". euer Andreas :nerd: PS: die Funktion MakePropertyValue:
Delphi-Quellcode:
PPS: auch wenn OpenOffice schwieriger anzucoden ist, ich steig um :stupid:
function TOLE_OpenOffice.MakePropertyValue(PropName, PropValue:string):variant;
var Struct: variant; begin Struct := Service.Bridge_GetStruct('com.sun.star.beans.PropertyValue'); Struct.Name := PropName; Struct.Value := PropValue; Result := Struct; end; |
Es geht ich werd IRRE !!!
Es geht... ich weiß zwar nicht warum aber es geht... !!! :hello: :spin2: :tongue:
:dp: Also irgendwie gehts mit dem:
Delphi-Quellcode:
Kennt ihr den Unterschied zwischen Theorie und Praxis ?
tc.InsertDocumentFromUrl(rtfFile,VarArrayCreate([0, - 1], varVariant) );
Theorie ist, man weiß wie es funktionieren müsste aber es funktioniert nicht. Praxis ist, es funktioniert und man weiß nicht wieso. Gotte Segne euch alle euer Andreas PS: irgendwann muss ich mal ne Ladung Bier ausgeben :cheers: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz