OpenOffice Calc in Writer als OLE einbeten

Tom_

Aktives Mitglied
Hallo! Zusammen,

jetzt verbringe ich schon zwei Tage im Internet und habe noch nicht ansatzweise eine Lösung gefunden.

In OO kann man über Einfügen-Objekt-OleObjekt ganz einfach zb einen Calc einbetten. Diese funktion würde ich gerne über Java steuern und natürlich auf das Calc-Objekt zugreifen können.

Kennt jemand eine gute Seite wo dieser vorgang documentiert ist?

Danke!
lg
Tom
 
Vielleicht hilft es den Makrorecorder anzuwerfen und dir den erzeugten Code anzusehen. Der Vorteil der UNO API ist, dass die Funktionen im Prinzip die gleichen sind, egal ob man sie per Java, C, Macro Sprache, oder Webservice anspricht, das könnte dich also zumindest auf die richtige Fährte bringen.
 
Nach scheinbar endlosen Websiten habe ich es gefunden 🙂

so geht's

Code:
XTextDocument	document
XMultiServiceFactory xDocFactory = 
            (XMultiServiceFactory) UnoRuntime.queryInterface(
            XMultiServiceFactory.class, document);
		XText xText = document.getText();
        XTextCursor xTextCursor = xText.createTextCursor();
        xTextCursor.gotoStart(false);
        XPropertySet xBaseFrameProps = null;
		try {
			xBaseFrameProps = (XPropertySet) UnoRuntime.queryInterface(
			        XPropertySet.class,
			        xDocFactory.createInstance("com.sun.star.text.TextEmbeddedObject"));
			xBaseFrameProps.setPropertyValue("CLSID", "47BBB4CB-CE4C-4E80-a591-42d9ae74950f");
			xTextCursor.getEnd().getText().insertTextContent(xTextCursor.getEnd(), (XTextContent) UnoRuntime.queryInterface(
			XTextContent.class, xBaseFrameProps), false);
			
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

lg
Tom
 

Neue Themen


Zurück
Oben