Die nachfolgende Funktion gibt den Inhalt einer durch eine Zeilennummer angegebene Zeile einer MultiLine-TextBox zurück. Ist die Zeile nicht vorhanden, d.h. die TextBox enthält weniger Zeilen, so wird ein Leerstringzurückgegeben. ' Übergabeparameter TextBox ist eine Multiline Textbox Public Function GetLineFromTB(TextBox As TextBox, _ lLine As Long) As String Dim lLineCount As Long Dim lLineEnd As Long Dim sLine As String Dim sTemp As String ' Ist das überhaut eine Multiline Textbox? If TextBox.MultiLine Then lLineCount = 0 ' Zähler für die Zeilen sTemp = TextBox.Text While sTemp <> "" And lLineCount <> lLine lLineCount = lLineCount + 1 lLineEnd = InStr(sTemp, vbCrLf) If lLineEnd > 0 Then ' aktuelle Zeile ermitteln sLine = Left$(sTemp, lLineEnd - 1) sTemp = Mid$(sTemp, lLineEnd + 2) Else ' letzte Zeile sLine = sTemp: sTemp = "" End If Wend If lLineCount <> lLine Then ' Zeile nicht gefunden sLine = "" End If End If GetLineFromTB = sLine End Function Beispiel: Text1.Text = "Dies ist eine mehrzeile Nachricht" & _ vbCrLf & vbCrLf & _ "Zeile 3" & vbCrLf & "Zeile 4" MsgBox GetLineFromTB(Text1, 3) ' Zeile 3 Unter Visual Basic 6... Public Function GetLineFromTB(TextBox As TextBox, _ lLine As Long) As String Dim sLines() As String sLines = Split(TextBox.Text, vbNewLine) If lLine - 1 <= UBound(sLines) Then GetLineFromTB = sLines(lLine - 1) End If End Function |