ja dat doet dit ook maar je moet even de hardgebakken pathname en fname aanpassen en die check() sub in een function veranderen. Gezien jouw vraag ging ik ervan uit dat jij wel wist hoe dat moet in vba.
dus zo:
Function check(pathname as String, fname as String) as String
While fcheck(pathname, fname)
fname = InputBox("Geef een andere bestandsnaam", "Bestand bestaat al", fname)
Wend
MsgBox fname & " bestaat niet en dit wordt nieuw aangemaakt, deze regel kan je verwijden", vbOKOnly
check = fname
End Function
Function fcheck(pathname As String, fname As String) As Boolean
Dim exists As Boolean
exists = False
file = Dir(pathname, vbDirectory)
Do While file <> ""
If file = fname Then
exists = True
End If
file = Dir
Loop
fcheck = exists
End Function
Dan kan je in je macro de functie check() alsvolgt gebruiken:
dim filename as String
filename = check("c:\jouwbackupdirectory", "denaamvandefilediemisschienalbestaat")