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