Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1640to1644
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datei mit variablem Namen suchen und umbenennen

Datei mit variablem Namen suchen und umbenennen
07.09.2018 10:50:38
Janosch
Guten Morgen liebe Foren-Mitglieder,
ich bin auf der Suche nach einem VBA-Code, der mir eine Datei mit variablem Namen sucht. Dabei ist der Präfix des Dateinamen immer gleich, allerdings wird dieser erweitert um eine Zahlen- und Buchstabenfolge.
Ich möchte die Datei (z.B. Test_Daten_125468_hsdjkgb.csv) "Test_Daten_*" suchen und umbenennen in "Test_Daten_TEMP.csv".
Ich habe schon einiges dazu gefunden, unter anderem von Oberschlumpf. Sein Code macht laut Beschreibung genau das, was ich eigentlich suche. Nur kann ich diesen Code nicht anpassen, ohne dass er auf einen Fehler läuft.
Hier der original Code von Oberschlumpf:
Sub FileMove()
Dim lastrDateiName(7) As String, lstrDateiName As String, liSchleife As Integer, lstrInputName  _
As String
Dim lstrVerz As String
'Laufwerk- und Verz.wechsel ins gewünschte Verzeichnis
ChDrive ("C:\")
ChDir ("C:\2004")
'hier wird geprüft, ob die 3 Unterverzeichnisse im Verzeichnis vorhanden sind - wenn nicht,  _
werden sie erstellt
lstrVerz = Dir("Bestandsprotokoll", vbDirectory)
If lstrVerz = "" Then
MkDir ("Bestandsprotokoll")
End If
lstrVerz = Dir("Entladeprotokolle", vbDirectory)
If lstrVerz = "" Then
MkDir ("Entladeprotokolle")
End If
lstrVerz = Dir("Teilnehmerzählung", vbDirectory)
If lstrVerz = "" Then
MkDir ("Teilnehmerzählung")
End If
'die Namensteile der gesuchten Dateien, die im Dateinamen immer vorkommen, werden einem String- _
Array übergeben
lastrDateiName(0) = "Bestandsprotokoll_*.xls"
lastrDateiName(1) = "BRNR_PTK.txt"
lastrDateiName(2) = "*_ERR.txt"
lastrDateiName(3) = "*_PTK.txt"
lastrDateiName(4) = "*_STA.csv"
lastrDateiName(5) = "Prüfstatistik_*.xls"
lastrDateiName(6) = "Teilnehmerzaehlung_In_Branchen_*.xls"
lastrDateiName(7) = "Teilnehmerzaehlung_In_Buchabschnitten_*.xls"
'hier wird vom User eine Eingabe erwartet, die Bestandteil aller Dateinamen sein wird. Eine  _
Leereingabe ist nicht möglich
Do Until lstrInputName  ""
lstrInputName = InputBox("Bitte vergeben Sie den gewünschten Namen, der ein Teil aller  _
Dateinamen sein soll.", "Namensteileingabe")
If lstrInputName = "" Then
dummy = MsgBox("Geben Sie bitte etwas ein!", vbCritical)
End If
Loop
'in der liSchleife werden alle alten Dateinamen in die Wunschdateinamen umbenannt und in die  _
entsprechenden Verzeichnisse verschoben
For liSchleife = 0 To 7
lstrDateiName = Dir(lastrDateiName(liSchleife))
If liSchleife = 4 And lstrDateiName = "" Then
lstrDateiName = Dir("*_STA.xls")
End If
Select Case lastrDateiName(liSchleife)
Case "*_STA.xls"
Name lstrDateiName As "Entladeprotokolle\" & "Eintragsstatistik " & lstrInputName & " Test  _
2004.xls"
Case "Bestandsprotokoll_*.xls"
Name lstrDateiName As "Bestandsprotokoll\" & Left(lstrDateiName, 17) & " " &  _
lstrInputName & " Test 2004.xls"
Case "BRNR_PTK.txt"
Name lstrDateiName As "Entladeprotokolle\" & "Branchenumschlüsselung " &  _
lstrInputName & " Test 2004.txt"
Case "*_ERR.txt"
Name lstrDateiName As "Entladeprotokolle\" & "Fehlerprotokoll " & lstrInputName & "  _
Test 2004.txt"
Case "*_PTK.txt"
Name lstrDateiName As "Entladeprotokolle\" & "Entladeprotokoll " & lstrInputName & " _
Test 2004.txt"
Case "*_STA.csv"
Name lstrDateiName As "Entladeprotokolle\" & "Eintragsstatistik " & lstrInputName &  _
" Test 2004.txt"
Case "Prüfstatistik_*.xls"
Name lstrDateiName As "Bestandsprotokoll\" & Left(lstrDateiName, 13) & " " &  _
lstrInputName & " Test 2004.xls"
Case "Teilnehmerzaehlung_In_Branchen_*.xls"
Name lstrDateiName As "Teilnehmerzählung\" & "Teilnehmerzaehlung in Branchen " &  _
lstrInputName & " Test 2004.xls"
Case "Teilnehmerzaehlung_In_Buchabschnitten_*.xls"
Name lstrDateiName As "Teilnehmerzählung\" & "Teilnehmerzaehlung in Buchabschnitten  _
" & lstrInputName & " Test 2004.xls"
End Select
Next
End Sub
Ich möchte lediglich nach einer Datei suchen und nicht wie im Code nach 8 verschiedenen und lediglich die Datei umbenennen (ohne Öffnen).
Kann mir hier jemand helfen und mir damit den Freitag versüßen?
Vielen Dank vorab und viele Grüße aus Rheinhessen!
Janosch

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei mit variablem Namen suchen und umbenennen
07.09.2018 14:29:44
Janosch
Konnte es lösen...
Danke an alle, die sich Gedanken gemacht haben!
Schönes Wochenende zusammen!
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige