Seite 1 von 1

Feldauslesen an CursoPosition bzw. Selection

Verfasst: Fr, 15.01.2010 13:23
von Scalaia990
Hallo habe wiedermal ein Problem wo mir weder die Hilfe noch das Web weiterhelfen kann.

Möchte den Feldbefehl auslesen an welchem der Cursor steht bzw. welcher markiert ist.

Ich kann zwar alle Feldbefehle nacheinander auslesen, möchte jedoch nur das der markierte ausgelesen wird.

Hier mein Macro welches mir sämtliche Feldbefehle eines Dokumentes ausliest.

Sub textfieldauslesen
oDoc = thiscomponent

oTextFieldEnum = oDoc.getTextFields.createEnumeration

WHILE (oTextFieldEnum.hasMoreElements()) AND (bFeldGefunden = FALSE)
oTextField = oTextFieldEnum.nextElement()

IF (oTextField.supportsService("com.sun.star.text.textfield.ConditionalText")) THEN

sCondition = oTextField.Condition
sTrueContent = oTextField.TrueContent
sFalseContent = oTextField.FalseContent

msgbox "condText" & chr(13)& sCondition & chr(13)& sTrueContent & chr(13)& sFalseContent

END IF
WEND

End Sub

Wie kriege ich hin dass er mir nur den/die selektierten ausliest? Wer kann mir da weiterhelfen?

Gruss und Dank

Scalaia990

Re: Feldauslesen an CursoPosition bzw. Selection

Verfasst: Fr, 15.01.2010 14:16
von DPunch
Aloha

Code: Alles auswählen

oDoc = thisComponent
oSelection = oDoc.CurrentSelection
If oSelection.SupportsService("com.sun.star.text.TextRanges") Then
	For n = 0 To oSelection.Count - 1
		If NOT isEmpty(oSelection(n).TextField) Then
			oThisField = oSelection(n).TextField
			If oThisField.SupportsService("com.sun.star.text.textfield.ConditionalText") Then
				sCondition = oThisField.Condition
				sTrueContent = oThisField.TrueContent
				sFalseContent = oThisField.FalseContent
				MsgBox "condText" & chr(13)& sCondition & chr(13)& sTrueContent & chr(13)& sFalseContent
			End If
		End If
	Next n
End if
Funktioniert allerdings nur, solange vor den Textfeldern nicht auch Leerzeichen oder anderer Text markiert sind.
Wenn Du ausserdem mehrere gleichzeitig markierst (weil sie z.B. in einer Zeile stehen und Du einfach die ganze Zeile markierst), wird nur das erste ausgelesen.

Re: Feldauslesen an CursoPosition bzw. Selection

Verfasst: Fr, 15.01.2010 15:44
von Scalaia990
Hallo DPunch,

vielen Dank funktioniert wunderbar. Das Wochenende kann kommen.

Gruss

Scalaia990