Hier erst mal einfach der Code um ein Benuzterfeld einzufügen. Erklärung kommt später.
Sub InsertUserField
oDocument = thiscomponent
oTextFieldMasters = oDocument.TextFieldMasters
'Prüfen ob das Feld schon existiert
if oTextFieldMasters.hasByName("com.sun.star.text.FieldMaster.User.XXXX")=false
then
userField=odocument.createInstance("com.sun.star.text.TextField.User")
newfield=odocument.createInstance("com.sun.star.text.FieldMaster.User")
newfield.setPropertyValue ("Name", "XXXX")
newfield.content="Inhalt"
userfield.attachTextFieldMaster(newfield)
'und nun einfügen
range=odocument.text.createtextcursor()
odocument.text.inserttextcontent(range,userfield,false)
end if
end sub