Ebenso wie es Benutzerfelder bei den Feldvariablen gibt, gibt es auch einfache Variablen.
Diese
unterschieden sich vor allen in einem Punkt von den Benutzerfeldern: Diese Variablen können
mehrere Werte aufnehmen. Eigentlich ist es also ein Array von Werten.
Sie liegen auch unterhalb des "TextFieldMasters"-Service. Der Zugriff erfolgt
daher etwas anders
als bei Benutzerfeldern. Der Zugriff erfolgt wieder direkt über den Namen. Dann erhält man aber den
Container der Variablen. Der eigentliche Zugriff erfolgt dann über "DependentTextFields".
Diese
ergeben dann das Objekt mit den Variablen. Hier erfolgt nun der Zugriff über den Index (beginnend
bei 0).
Dim Var as String
Dim oTextfieldMaster As Object
Dim oPropSet as Object
Dim oDependentTextFields as Object
Dim oXDependentTextField as Object
Dim oTextFields as Object
oDocument = thiscomponent
Var ="com.sun.star.text.FieldMaster.SetExpression."+Variable
oTextfieldMasters = oDocument.getTextFieldMasters()
oPropSet = oTextfieldMasters.getByName(Var)
oDependentTextFields = oPropSet.DependentTextFields
oXDependentTextField = oDependentTextFields(0)
oldValue = oXDependentTextField.Content
oXDependentTextField.setPropertyValue("Content", "Neuer
Text")
odocument.textfields.refresh()
Um den Wert zu lesen geht man den gleichen Weg.
Var ="com.sun.star.text.FieldMaster.SetExpression."+Variable
oTextfieldMasters = oDocument.getTextFieldMasters()
oPropSet = oTextfieldMasters.getByName(Var)
oDependentTextFields = oPropSet.DependentTextFields
oXDependentTextField = oDependentTextFields(0)
XXXX= oXDependentTextField.Content
Siehe auch Tools