Der Code unten fügt in ein Writer Dokument einen setExpression-TextField-Master ein und dazu zwei Instanzen der Variable. Voraussetzung ist eine Tabelle im Dokument. Ich habe zu diesem Thema keine Beispiele gefunden und lange gebraucht um eine Variable im Dokument einzubauen. Ich hoffe, dass jemand anderes das mal gebrauchen kann.
Mit Grüßen
Colster
Code: Alles auswählen
Option explicit
Sub Main
Dim oSEMaster as Object, oSEField as Object
Dim oDoc as Object, oText as Object
Dim oTable as Object, oCell as Object
oDoc = thisComponent
oTable = oDoc.getTextTables.getByIndex(0)
oSEField = oDoc.createInstance("com.sun.star.text.TextField.SetExpression")
oSEField.NumberingType = 2
oSEField.subType = com.sun.star.text.SetVariableType.STRING
oSEField.content = "Angelika"
oSEField.currentPresentation = "Angelika"
oSEMaster = oDoc.createInstance("com.sun.star.text.FieldMaster.SetExpression")
oSEMaster.name = "Variablenname"
oSEMaster.subType = 0
oSEField.attachTextFieldMaster(oSEMaster)
oText = oDoc.Text()
oText.insertTextContent(oText.getEnd(),oSeField,False)
oSEField = oDoc.createInstance("com.sun.star.text.TextField.SetExpression")
oSEField.NumberingType = 2
oSEField.subType = com.sun.star.text.SetVariableType.STRING
oSEField.content = 120
oSEField.currentPresentation = "120"
oSEField.attachTextFieldMaster(oSEMaster)
oCell = oTable.getCellByPosition(0,0)
oCell.insertTextContent(oCell.Text.getEnd(),oSeField,False)
End Sub