[gelöst] SwXTextField auf Property überprüfen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

TheGambler
*
Beiträge: 10
Registriert: Fr, 14.05.2010 09:46

[gelöst] SwXTextField auf Property überprüfen

Beitrag von TheGambler »

Hallo *,

um selbstdefinierte Textvariablen in Writer zu füllen, setze ich folgendes code-snippet ein:

Code: Alles auswählen

oTextFieldCon = thisComponent.getTextFields()
oTextFields = oTextFieldCon.createEnumeration()

Do while oTextFields.hasMoreElements()
	oTextField = oTextFields.nextElement()
	if oTextField.VariableName = sName then
		oTextField.setPropertyValue("Content", "" & sContent)
	end if
loop
Wenn ich in meinem Dokument jedoch noch andere Feldbefehle habe, wie z.B. das aktuelle Datum, dann hat dieses SwXTextField nicht die Eigenschaft "VariableName" und ich erhalte einen Laufzeitfehler.

Kann ich ein Objekt der Klasse SwXTextField irgendwie darauf prüfen ob die Property "VariableName" vorhanden ist?
Zuletzt geändert von TheGambler am Do, 22.07.2010 13:22, insgesamt 2-mal geändert.
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: SwXTextField auf Property überprüfen

Beitrag von komma4 »

Code: Alles auswählen

    oTextFieldCon = thisComponent.getTextFields()
    oTextFields = oTextFieldCon.createEnumeration()

    Do while oTextFields.hasMoreElements()
       oTextField = oTextFields.nextElement()
       oProps = oTextField.getPropertySetInfo()
       If oProps.hasPropertyByName( "VariableName" ) Then
          if oTextField.VariableName = sName then
             oTextField.setPropertyValue("Content", "" & sContent)
          end if
       End If
    loop

Hilft Dir das?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
TheGambler
*
Beiträge: 10
Registriert: Fr, 14.05.2010 09:46

Re: SwXTextField auf Property überprüfen

Beitrag von TheGambler »

Perfekt. Vielen Dank. -solved-
Antworten