Seite 2 von 2
Nochmal versucht...
Verfasst: Mo, 15.09.2003 11:38
von Tigerlillie
Guten Morgen,
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"
Das ist echt blöd.
Viele Grüße und Danke fürs Antworten.

Lillie
Verfasst: Mo, 15.09.2003 13:11
von openmind
Hallo Lilie,
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:
Code: Alles auswählen
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
Verfasst: Mo, 15.09.2003 13:53
von Tigerlillie
Hallo openmind,
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?
Viele Grüße
Lillie
