Hallo zusammen,
ich hatte mal unter R5 das Problem, dass die User in einem Textfeld versehentlich die <Enter> - Taste drückten und so das Dokument speicherten. Später, beim Export in eine Textdatei gab's dann an der Stelle einen Zeilenumbruch, was nicht schön war.
Um die Leerzeichen abzufangen, gibt's ja viele eingebaute Funktionen, für die LeerZEILEN - Kontrolle habe ich damals keine Fertiglösung gefunden. So ist dieses Script entstanden.
Ich poste es hier, falls es jemanden interessiert...
Die Function habe ich in der Script-Bibliothek.
Im Exiting vom kritischen Textfeld wird sie aufgerufen, bei 1 wird eine Fehlermeldung ausgegeben und Fokus wieder in dieses Feld gesetzt, so wird der User gezwungen, die leere Zeile(n) zu löschen. (Eine Erziehungsmaßnahme ;o))
Sub Exiting(Source As Field)
.......
xWert = uidoc.FieldGetText("Feldname")
If Textfeld_Kontrolle_Leere_Zeilen (xWert) = 1 Then
.......
Public Function Textfeld_Kontrolle_Leere_Zeilen (WERT As String) As Integer
'Diese Funktion zählt leere Zeilen in einem String
'und gibt 1 zurück, wenn mindestens 1 leere Zeile vorhanden ist
Dim xLen As Long
Dim xAnzahl As Long
Dim i As Long
xLen = Len (WERT) 'Stringlänge
xAnzahl = 0
Textfeld_Kontrolle_Leere_Zeilen = 0
For i = 1 To xLen
If Uni(Mid(WERT,i,1)) = 13 Then
xAnzahl = xAnzahl + 1
Textfeld_Kontrolle_Leere_Zeilen = 1
End If 'Uni(Mid(WERT,i,1)) = 13
Next '1 To xLen
'Msgbox "Anzahl leerer Zeilen: " + Str$(xAnzahl)
End Function