Thank you very much Fernand. Can you please show how you assign a Name and Content to the field in Basic? The creation of the field seems okay, but the glitch appears when I would to put something in it.
Thanks again, -Etienne ----- Mail Original ----- De: "Fernand Vanrie" <[email protected]> À: [email protected] Envoyé: Jeudi 22 Octobre 2009 19h01:11 GMT +00:00 GMT - Grande-Bretagne, Irlande, Portugal Objet: Re: [udk-dev] PyUNO : Inserting a User field Etienne in basic its done like: Dim Doc As Object Dim DateTimeField As Object Dim Cursor As Object Doc = StarDesktop.CurrentComponent Cursor = Doc.Text.createTextCursor() DateTimeField = Doc.createInstance("com.sun.star.text.T"com.sun.star.text.TextField.User")") Doc.Text.insertTextContent(Cursor, DateTimeField, False) hope it helps fernand > Dear list, > > First I hope I am in the right place... Please forgive me and direct > me to the appropriate mailing-list/forum/whatever if I'm off-topic... > > I'm trying to develop an application that would interact with > OpenOffice via PyUNO, and I am not able to create a User field. I > started from the Java example here: > http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/Text/Text_Fields, > > and tried to convert it in Python... > > Dim Doc As Object > Dim DateTimeField As Object > Dim Cursor As Object > Doc = StarDesktop.CurrentComponent > Cursor = Doc.Text.createTextCursor() > DateTimeField = > Doc.createInstance("com.sun.star.text.T"com.sun.star.text.TextField.User")") > > Doc.Text.insertTextContent(Cursor, DateTimeField, False) > #------------------------------------- > import uno > > localContext = uno.getComponentContext() > resolver = > localContext.ServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", > > localContext ) > ctx = resolver.resolve( > "uno:pipe,name=OOo_pipe;urp;StarOffice.ComponentContext" ) > smgr = ctx.ServiceManager > > desktop = smgr.createInstanceWithContext( > "com.sun.star.frame.Desktop",ctx) > model = desktop.getCurrentComponent() > > if model.getImplementationName()=='SwXTextDocument': > xUserField = model.createInstance("com.sun.star.text.TextField.User") > xMasterPropSet = > model.createInstance("com.sun.star.text.FieldMaster.User") > xMasterPropSet.setPropertyValue("Name", "UserEmperor") > > ctx.ServiceManager > #------------------------------------- > > I get an error "__main__.IllegalArgumentException", on the > xMasterPropSet.setPropertyValue("Name", "UserEmperor") line. > If I run dir(xMasterPropSet), I get all the expected method and > properties, so it just look like the setPropertyValue is either not > the implementation I expected, or that the argument types are wrong? > > Can anyone give me a hint on how to do that? > > Thanks a lot!. > -Etienne > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
