hab gerade alles nocheinmal ausprobiert. Das mit den Variablen klappt in einem neuen Dokument, aber nicht in meiner fast fertigen Vorlage.
Es bleibt immer hier hängen:
If oCurrentfield.VariableName = "Sachbearbeiter" then 'hier hakt es!
oCurrentField.Content = "Sachbearbeiter/in"
da gibt es wohl noch andere Textfelder als Variablen in Deinem Dokumnet. Du musst erst auf den Typ des Feldes testen, denn nur der Typ com.sun.star.text.TextField.SetExpression verfügt über eine EIgenschaft VariableName . Wenn diese Eigenschaft bei einem anderen Textfeld angefragt wird kann das nicht gehen. Also erst mit supportsService auf den Textfeldtyp test, dann entsprechenden Eigenschaft benutzen:
Sub textfelder
Dim oDoc as Object
Dim textFieldEnumeration as Object
Dim currentField as Object
oDoc = thisComponent
textFieldEnumeration = oDoc.getTextFields().createEnumeration()
' loop durch alle Felder
While textFieldEnumeration.hasMoreElements()
currentField = textFieldEnumeration.nextElement()
If currentField.supportsService( "com.sun.star.text.TextField.Annotation" ) Then
MsgBox currentField.Date.Day & "." & _
currentField.Date.Month & "." & _
currentField.Date.Year & ":" & chr(13) & _
currentField.Author & chr(13) & _
currentField.Content
ElseIf currentField.supportsService( "com.sun.star.text.TextField.SetExpression" ) Then
MsgBox currentField.VariableName & chr(13) & currentField.Content
End If
Wend
End Sub
Meine Installation: AMD Athlon XP 1600+, 512 MB RAM, SuSE Linux 8.2, OpenOffice 1.1
Kostenlose OOo-CD in der Schweiz: http://www.office-cd.ch/
danke für die superschnelle Antwort. das habe ich jetzt bei mir im Makro eingefügt und durchlaufen lassen. Es werden alle Platzhalter-Variablen mit Inhalt angezeigt und vorher habe ich auch noch mal kontrolliert, ob es die richtigen sind.
Was könnte ich noch machen, damit es geht?