Okay, got it!
The problem I had was actually that the name I used was not unique, I
mean not unique anymore after many trials in the same document.
Thanks a lot to all of you!
-Etienne
Fernand Vanrie wrote:
Etienne,
I used in the past this code: ( founded on the OO-forum with thanks
to JonnV:-)
hope it helps
Fernand
sub InsertUserField
oDoc = ThisComponent
oField = oDoc.createInstance("com.sun.star.text.FieldMaster.User")
oField.Name = "New field13" 'need to be Unique
oField.Value = "New Field Text" 'your text
objField = oDoc.createInstance("com.sun.star.text.TextField.User")
objField.attachTextFieldMaster(oField)
oVC = oDoc.CurrentController.getViewCursor
oDoc.Text.insertTextContent(oVC,objField,false)
end sub
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" <s...@pmgroup.be>
À: dev@udk.openoffice.org
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: dev-unsubscr...@udk.openoffice.org
For additional commands, e-mail: dev-h...@udk.openoffice.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@udk.openoffice.org
For additional commands, e-mail: dev-h...@udk.openoffice.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@udk.openoffice.org
For additional commands, e-mail: dev-h...@udk.openoffice.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@udk.openoffice.org
For additional commands, e-mail: dev-h...@udk.openoffice.org
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Etienne Gaudrain
Centre for the Neural Basis of Hearing
Department of Physiology, Development and Neuroscience
University of Cambridge
Downing Street
Cambridge CB2 3EG
UK
Phone: +44 1223 765 359 office
Fax: +44 1223 333 840 department
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@udk.openoffice.org
For additional commands, e-mail: dev-h...@udk.openoffice.org