bräuchte bitte eure Hilfe bei folgendem Code.
Sub Lagerbestand_XLS_umbenennen()
' ======================================================================================== _
_
_
Dim Pfad As String
Pfad = Sheets("BZG").Range("J2").Value
Name = Dir(Pfad)
Application.DisplayAlerts = False
Do Until Name = ""
'++++ If Name().Len > 10 Then
Name Pfad & Name As Pfad & Mid(Name, 25, 2) & "." & Mid(Name, 22, 2) & ". _
_
_
" & Mid(Name, 28, 4) & ".xls"
'++++ End If
Name = Dir()
Loop
Application.DisplayAlerts = True
End Sub
Ziel : in einem Ordner, dessen Pfadangabe sich in der Tab "BZG" / Zelle "J2" befindet, soll dieses Umbenenn-Makro ablaufen.
Bislang - wenn der Ordner leer ist - kopieren wir dort einen Haufen .txt Dateien hinein, die auf Grund der Abfrage in einem anderen Datenverarb.System dort einen längeren Namen bekommen . zB: Zustandsbericht_14-01-2021.txt ( TXT Format )
Mit dem oben verankerten Makro kann ich all diese TXT Dateien in diesem Ordner schon einmal umbenennen in folgenden
Dateinamen xx.xx.xxxx.xls ( entspricht beim Abgleichen in einem anderen Makro dann dort dem jew. Datum TT.MM.JJJJ, und dementsprechend kann das dortige Makro dann die gewünschte Datei finden aus dem Sie partiziell nur entspr. Daten benötigt. Soviel zum Hintergrund.
Meine Frage oder Bitte wäre, bislang leeren wir den Ordner bevor wir wieder neue TXT Daten in diesen Ordner hineinkopieren um diese dort per Makro umzubenennen, wir würden aber diese gerne dort belassen, sodass dann dort sich mit der Zeit viele xls Dateien mit Namensformat Datum ( TT.MM.JJJJ) drinn befinden, aber auch eben dann immerwieder
neu hinzugefügte TXT Dateien mit längerem Dateinamen als wie im Datum mit 10 Positionen.
Ich suche daher eine IF Anweisung die ich an entsprechender Stelle dort mit ins das Makro setzte , und da ist mein
VBA ( Vis.Bas.Anfänger ) Latein am Ende ;-)
Diese IF Abfrage sollte im Idealfall nach Namenslänge prüfen, alles was längers ist wie 10Zeichen wird umbenannt
Bräuchte bitte etwas support von euch,
Lieben Dank
Udo