8.1.11 Wie kann man auf Variablen zugreifen?
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