Hallo,
ich habe in einer Word-*.dotm ein selbstgebautes Formular, das Benutzereingaben abfragt und diese dann in das Dokument überträgt. Klappt auch super.
Jetzt wollte ich aber eine automatische Fehlerkorrektur einbauen; viele User (DAUs...) schaffen es immer wieder, unnötige Leerzeichen und Absätze im Eingabeformular unerzubringen. Diese verunstalten dann das Dokument. Leider funktioniert es nicht... - aber warum? Hier der entsprechende Codeschnipsel:
Dim Eingabefeld As Control
For Each Eingabefeld In Controls
If Eingabefeld.Name Like "txt*" Or Eingabefeld.Name Like "cbo*" Then
Eingabefeld.Text = Trim(Eingabefeld.Text) ' Leerzeichen vor/nach Text weg.
If Len(Eingabefeld.Text) > 0 Then ' Leere Felder ausschließen.
Do While Left(Eingabefeld.Text, 1) = vbNewLine ' Absatzmarke vor Text.
Eingabefeld.Text = Right(Eingabefeld.Text, Len(Eingabefeld.Text - 1))
Loop
End If
If Len(Eingabefeld.Text) > 0 Then ' Es könnte *jetzt* ja leer sein...
Do While Right(Eingabefeld.Text, 1) = vbNewLine ' Absatzmarke nach Text.
Eingabefeld.Text = Left(Eingabefeld.Text, Len(Eingabefeld.Text - 1))
Loop
End If
End If
Next
Text- und Comboboxen haben selbstverständlich Namen, die mit txt oder cbo beginnen.
Weder werden Leerzeichen entfernt noch Absatzmarken.
|