Feldauslesen an CursoPosition bzw. Selection

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Feldauslesen an CursoPosition bzw. Selection

Re: Feldauslesen an CursoPosition bzw. Selection

von Scalaia990 » Fr, 15.01.2010 15:44

Hallo DPunch,

vielen Dank funktioniert wunderbar. Das Wochenende kann kommen.

Gruss

Scalaia990

Re: Feldauslesen an CursoPosition bzw. Selection

von DPunch » Fr, 15.01.2010 14:16

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.

Feldauslesen an CursoPosition bzw. Selection

von Scalaia990 » Fr, 15.01.2010 13:23

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

Nach oben