Einfügen von Variablen-Inhalt an Textmarken

Das Textverarbeitungsprogramm

Moderator: Moderatoren

Tigerlillie
**
Beiträge: 25
Registriert: Di, 15.07.2003 14:31
Wohnort: Einbeck & Frankfurt (Main)
Kontaktdaten:

Nochmal versucht...

Beitrag 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
openmind
****
Beiträge: 184
Registriert: So, 29.06.2003 15:00
Wohnort: Schweiz

Beitrag 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
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/
Tigerlillie
**
Beiträge: 25
Registriert: Di, 15.07.2003 14:31
Wohnort: Einbeck & Frankfurt (Main)
Kontaktdaten:

Beitrag 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 :D
Antworten