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
 

Wildcard

Top Contributor
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.
 

Tom_

Aktives Mitglied
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
 

Ähnliche Java Themen

Neue Themen


Oben