Wenn man verhindern will, dass bei doppelten Dateinamen Daten überschrieben werden, kann man folgenden Code verwenden:
Private Function getFreeFileName(filename As String) As String
vName = Left$(filename, Len(filename) - 4)
Nfile = vName & ".txt"
If vName Like "*(#)" Then
For A = Len(vName) To 1 Step -1
If Mid(vName, A, 1) = "(" Then Exit For
Next A
vName = Trim(Left(vName, A - 1))
Nfile = vName & ".txt"
End If
If FileExist(vName & ".txt") = True Then
A = 2
While FileExist(vName & " (" & A & ").txt")
A = A + 1
Wend
Nfile = vName & " (" & A & ").txt"
End If
getFreeFileName = Nfile
End Function
Gibt es beispielsweise folgende Dateien:
Datei.txt
Datei (2).txt
und wird einer der beiden nochmals verwendet, so wird der Dateiname automatisch zu
Datei (3).txt
geändern. Dateinamen wie "Datei (2) (2).txt" werden nicht generiert.
Private Function getFreeFileName(filename As String) As String
vName = Left$(filename, Len(filename) - 4)
Nfile = vName & ".txt"
If vName Like "*(#)" Then
For A = Len(vName) To 1 Step -1
If Mid(vName, A, 1) = "(" Then Exit For
Next A
vName = Trim(Left(vName, A - 1))
Nfile = vName & ".txt"
End If
If FileExist(vName & ".txt") = True Then
A = 2
While FileExist(vName & " (" & A & ").txt")
A = A + 1
Wend
Nfile = vName & " (" & A & ").txt"
End If
getFreeFileName = Nfile
End Function
Gibt es beispielsweise folgende Dateien:
Datei.txt
Datei (2).txt
und wird einer der beiden nochmals verwendet, so wird der Dateiname automatisch zu
Datei (3).txt
geändern. Dateinamen wie "Datei (2) (2).txt" werden nicht generiert.
Gruß, Agent Smith
activeFlags = (lazy OR weary)
Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
activeFlags = (lazy OR weary)
Lemgo-Verschwörung | Mathematics | VB-Paradise in blau