Stephan Beck schrieb:
Here's an untested code snippet ...
------------BEGIN---------------------->>>
OLEObject l_objServiceManager
OLEObject l_objDesktop
OLEObject l_objCoreReflection
OLEObject l_objDocument
OLEObject l_objPropertyValue[]
OLEObject l_objText
OLEObject l_objCursor
long l_lRet
l_objServiceManager = CREATE OLEObject
l_lRet = l_objServiceManager.ConnectToNewObject
("com.sun.star.ServiceManager")
IF l_lRet = 0 Then
l_objDesktop =
l_objServiceManager.createInstance("com.sun.star.frame.Desktop")
l_objCoreReflection =
l_objServiceManager.createInstance("com.sun.star.reflection.CoreReflection" )
/* Set Properties for Open (!!! OR search for "Bridge_GetStruct" (since
OpenOffice1.1) on http://www.oooforum.org/forum/viewforum.php?f=9 */
l_objPropertyValue[1] = f_oo_makepropertyvalue("ReadOnly", true)
l_objDocument =
l_objDesktop.loadComponentFromURL("private:factory/swriter", "_blank",
0, l_objPropertyValue)
IF IsValid(l_objDocument) THEN
'Create a text object
l_objText= l_objDocument.getText()
'Create a cursor object
l_objCursor= l_objText.createTextCursor()
'Inserting some Text
l_objText.insertString(l_objCursor, "The first line in the newly
created text document.")
END IF
l_objServiceManager.disconnectobject()
END IF
<<<------------------------------------------END-------------
/////////////////////////////////////////////////////////////
oleobject f_oo_makepropertyvalue(string sName, any aAnyValue)
// Create PropertyValue
OLEObject l_objPropertyValue
OLEObject l_objPropertyClass
IF IsValid(i_objCoreReflection) THEN
l_objPropertyClass =
i_objCoreReflection.forName("com.sun.star.beans.PropertyValue")
//!!!! CreateObject takes an OUT parameter.
// refer to the UNO IDL interface descriptions, to find
// the proper parameter types
l_objPropertyClass.createObject(REF l_objPropertyValue)
l_objPropertyValue.Name = sName
l_objPropertyValue.Value = aAnyValue
END IF
RETURN l_objPropertyValue
//////////////////////////////////////////////////////////////
Hope this helps,
Stephan B.