mr-otin
Mitglied
Hallo,
Ich schreibe Daten aus einer DB in ein Textfile. Nun moechte ich das die Daten bei ueberlaenge gekuerzt werden. Soll heissen
Zeichen pro Seite = 1600
Zeichen pro Zeile = 69
Leider funktioniert es nicht so, wie es soll. Ich bekomme zwar die Daten aus der DB, haenge ich aber eine Stringvariable zu tText an bringt er mir ein Runtime Error 5 (betreffende Zeile rot markiert). Das gleiche passiert auch wenn ich MaxZeichenProSeite auf 3 aendere und MaxZeichenProZeile so bestehen lasse. Was kann ich da machen?
hier mal der Code dafuer
Ich schreibe Daten aus einer DB in ein Textfile. Nun moechte ich das die Daten bei ueberlaenge gekuerzt werden. Soll heissen
Zeichen pro Seite = 1600
Zeichen pro Zeile = 69
Leider funktioniert es nicht so, wie es soll. Ich bekomme zwar die Daten aus der DB, haenge ich aber eine Stringvariable zu tText an bringt er mir ein Runtime Error 5 (betreffende Zeile rot markiert). Das gleiche passiert auch wenn ich MaxZeichenProSeite auf 3 aendere und MaxZeichenProZeile so bestehen lasse. Was kann ich da machen?
hier mal der Code dafuer
Visual Basic:
Private Sub Command1_Click()
Dim MaxZeichenProSeite As Long
Dim MZpS As Long
Dim I As Long
Dim MaxZeichenProZeile As Long
Dim gText As String
Dim tText As String
MaxZeichenProSeite = 130
MaxZeichenProZeile = 25
tText = "Das ist ein beliebiger Text, welcher auf eine maximale Zeilen- und Seitenlänge begrenzt werden soll. Die Ausgabe erfolgt mittels DEBUG.PRINT und kann im Direktfenster betrachtet werden."
Do While Len(tText) > 0
Do While Len(tText) > 0
If Len(tText) >= MaxZeichenProZeile Then
gText = Left$(tText, MaxZeichenProZeile)
For I = MaxZeichenProZeile To 1 Step -1
If Mid$(gText, I, 1) = " " Then Exit For
Next
If MZpS + I - 1 > MaxZeichenProSeite Then
tText = gText + tText
Debug.Print "----- Seitenumbruch -----"
MZpS = 0
Exit Do
End If
MZpS = MZpS + I - 1
gText = Left$(gText, I - 1)
tText = Right$(tText, Len(tText) - I)
Else
gText = tText
tText = ""
End If
Debug.Print gText
Loop
Loop
End Sub
Zuletzt bearbeitet: