Thema Datum  Von Nutzer Rating
Antwort
15.04.2011 10:15:10 siva78
NotSolved
21.05.2011 13:58:13 janpaet
NotSolved
21.05.2011 23:58:03 Till
NotSolved
22.05.2011 10:11:09 janpaet
NotSolved
Rot Textbox Zeilen in ein Array schreiben?
22.05.2011 16:23:24 Till
NotSolved
22.05.2011 17:52:55 janpaet
Solved

Ansicht des Beitrags:
Von:
Till
Datum:
22.05.2011 16:23:24
Views:
720
Rating: Antwort:
  Ja
Thema:
Textbox Zeilen in ein Array schreiben?

Hallo Jan,

und was ist wenn der Umbruch automatisch und nicht durch Enter geschieht? Scheint dann nicht zu funktioniert.

Ich habe dazu mal eine Funktion geschrieben, die ist aber noch weniger elegant und das korrekte darstellen von Leerzeichen am Anfang einer Zeile passt nicht ganz (die Zeilen werden aber korrekt getrennt).

Ansonsten funktioniert sie.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
Option Explicit
 
Private Sub loadUForm()
 
    uF.Show
 
End Sub
 
Function testLineBreak()
 
    Dim I&
    Dim Text$()
         
    'function ausführen
        findLinebreak uF.tbML, Text
     
    'testen
        Cells.Clear
        For I = 0 To UBound(Text)
            Cells(I + 1, 1).Value = Text(I)
        Next
     
End Function
     
Private Sub findLinebreak(MLtb As Object, ByRef Text$())
     
    'dim
        Dim UForm As uGetStringLenght
        Dim TB As Object
        Dim TB2w#
        Dim breakable As Boolean
        Dim Str$
        Dim I&, J&, S&, K&, E&
        Dim BPs&()
         
    'set
        Set UForm = uGetStringLenght
        Set TB = UForm.TextBox1
        TB2w = MLtb.Width
        Str = MLtb.Text
         
        With TB
        .Font.Size = MLtb.Font.Size
        End With
     
    'comp len, find breakpoints
        S = 1
        E = Len(MLtb.Text)
         
        For I = 1 To E
             
            TB.Text = Mid(Str, S, I - S)
             
            If Mid(Str, I, 1) = Chr(10) Then
 
                ReDim Preserve Text(J)
                Text(J) = Mid(Str, S, I - S - 1)
                J = J + 1
                S = I
                     
            ElseIf TB.Width > TB2w Then
                       
                If Mid(Str, I - 1, 1) = " " Or Mid(Str, I, 1) = " " Then
         
                    ReDim Preserve Text(J)
                    Text(J) = Mid(Str, S, I - S)
                    J = J + 1
                    S = I
                     
                Else
                 
                    breakable = False
                    For K = I - 1 To S + 1 Step -1
                        If Mid(Str, K, 1) = " " Then
                             
                            ReDim Preserve Text(J)
                            Text(J) = Mid(Str, S, K - S)
                                 
                            J = J + 1
                            S = K
                             
                            breakable = True
                            Exit For
                             
                        End If
                    Next
                     
                    If Not breakable Then
                     
                        ReDim Preserve Text(J)
                        Text(J) = Mid(Str, S, I - S + 1)
                 
                        J = J + 1
                        S = I
                     
                    End If
                End If
                     
            ElseIf I = E Then
         
                ReDim Preserve Text(J)
                Text(J) = Mid(Str, S, I - S + 1)
                 
            End If
             
            'leerzeichen entfernen
                If J > 0 Then
                    If Mid(Text(J - 1), 1, 1) = " " Then
                        Text(J - 1) = Mid(Text(J - 1), 2, Len(Text(J - 1)) - 1)
                    End If
                End If
             
        Next
         
End Sub

Viele Grüße

Till


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
15.04.2011 10:15:10 siva78
NotSolved
21.05.2011 13:58:13 janpaet
NotSolved
21.05.2011 23:58:03 Till
NotSolved
22.05.2011 10:11:09 janpaet
NotSolved
Rot Textbox Zeilen in ein Array schreiben?
22.05.2011 16:23:24 Till
NotSolved
22.05.2011 17:52:55 janpaet
Solved