Empfehlung - String-Längen

Prüfe String-Längen

Je nach VB/VBA Version werden ungültige String-Längen mal als Fehler und mal nicht als Fehler behandelt.

Function GetZipOnly(strZip As String) As String
    Const ZIP_BASELENGTH = 5
    GetZipOnly = Left$(strZip, ZIP_BASELENGTH)
End Function

Was passiert, wenn der Wert des Arguments strZip kleiner als 5 Zeichen lang ist? Je nach VB/A-Version wird ein Laufzeitfehler erzeugt oder aber auch nicht. Darauf sollte man sich nicht verlassen, und grundsätzlich String-Längen prüfen; z.B.:

Function GetZipOnly(strZip As String) As String
    Const ZIP_BASELENGTH = 5
    If Len(strZip) < ZIP_BASELENGTH + 1 Then
        GetZipOnly = strZip
    Else
        GetZipOnly = Left$(strZip, ZIP_BASELENGTH)
    End If
End Function