ich hab mal wieder an meinem Makro rumgeschraubt.
Per Doppelklick in eine bestimmte Zelle (in Spalte A) kann ich eine Datei umbenennen. Nun könnte es ja theoretisch passieren, dass diese Datei bereits existiert. Also kommt das Debug-Fenster und teilt mir dieses mit. Das ist natürlich unschön. Ich möchte diesen speziellen Fehler abfangen und dem User sagen:
"Die Datei existiert bereits. Bitte wähle einen anderen Dateinamen."
Das habe ich auch bereits hinbekommen. Aber dabei trat ein Problem auf das ich an einer anderen Stelle auch schon nicht lösen konnte. (und eine Notlösung eingebaut habe.)
Nachdem die Meldung kam, das die Datei schon existiert,bestätigt man mit OK und erhält wieder das Eingabefenster in dem der alte Dateiname voreingetragen ist.
Gehen wir mal davon aus, der neue gewählte Dateiname ist auch vergeben.....tja, dann erscheint wieder das Debugfenster weil der Code ja einfach weitergelaufen ist. Besser wäre der Code springt wieder nach oben zur ursprünglichen Abfrage.
Ich versuche meine Frage mal zu verallgemeinern.
Wie kann ich diese Abfrage so lange als Schleife laufen lassen, bis der User endweder einen passenden Dateinamen eingegeben, oder auf Abbruch geklickt hat?
Sub TEST() -steht hier nur damit der code sich abhebt -
'Neuer Dateiname wird abgefragt.
vEingabe = InputBox("Bitte gib den neuen Dateinamen ein." & vbCrLf & vbCrLf & "Dateiendung _
NICHT eingeben", "Dateiname ändern:", DatNamoE)
If vEingabe = "" Then
Exit Sub
Else
NDatNam = vEingabe & Dateiendung 'Neue Dateiname
End If
NPfad = Left(APfad, InStrRev(APfad, "\") - 0) & NDatNam
''Pruefung ob Datei evtl noch geoeffnet
If Not IsFileOpen(APfad) Then
If Dir(NPfad) "" Then
If MsgBox("Datei existiert bereits!" & vbCrLf & vbCrLf & "Bitte wähle einen anderen _
Dateinamen", vbOKCancel, "Sicherheitsabfrage") = vbCancel Then
Exit Sub
Else
vEingabe = InputBox("Bitte gib den neuen Dateinamen ein." & vbCrLf & vbCrLf & " _
Dateiendung NICHT eingeben", "Dateiname ändern:", DatNamoE)
End If
End If
'Datei wird umbenannt
Name APfad As NPfad
End Sub
Bei Bedarf sende ich auch gerne meine Datei. Ich nehme aber auch gerne eine gute Erklärung, einen Codeschnipsel oder was zum lesen. (Dabei lerne ich am besten.)Liebe Grüße
Steve