Altes Makro - unsinnige If Anweisung
12.09.2006 12:12:36
Philipp
ich habe ein alte Makro 'geerbt' und bei vielen Funktionen unsinniges Zeug gefunden, wie bei folgendem Beispiel. Diese Funktion, soll aus einem String, einen bestimmten Teil des Urstings als String zurückgeben.
Diese Funktion wird in mehreren anderen Funktionen aufgerufen, es müssen immer ein String und ein "Seperator" übergeben werden. Optional kann man dann noch von Rechts beginnen True/False übergeben und optional kann man noch 'StripPart' True/False übergeben.
Public
Function GetStringPart(str As String, Separator As String, Optional ByVal _
FromRight As Boolean, Optional ByVal StripPart As Boolean = True) As String
Dim nPos As Long
If Len(str) Then
If FromRight Then
nPos = InStrRev(str, Separator)
If nPos Then
GetStringPart = Mid$(str, nPos + Len(Separator))
If StripPart Then
str = Left$(str, nPos - 1)
End If
' Diese If Abfrage ist doch unsinnig, mit dem String 'str' passiert doch nichts mehr!?!
Else
GetStringPart = str
If StripPart Then
str = ""
End If
End If
Else
nPos = InStr(str, Separator)
If nPos Then
GetStringPart = Left$(str, nPos - 1)
If StripPart Then
str = Mid$(str, nPos + Len(Separator))
End If
Else
GetStringPart = str
If StripPart Then
str = ""
End If
End If
End If
End If
End Function
Mein Problem ist, dass ich nicht verstehe, was folgende If-Anweisung, nachdem der Funktion bereits ein String zugeteilt wurde, noch bringen soll? Der String 'str' wird eh nicht zurückgegeben, sondern nur der der Funktion zugewiesen wurde!
If StripPart Then
str = ...
End If
Seht ihr einen Sinn in der Zuweisung?
Gruß,
Philipp