Suche nach Datei mit Nummer in Dateiname

Bild

Betrifft: Suche nach Datei mit Nummer in Dateiname
von: daru
Geschrieben am: 11.06.2015 10:40:55

Hallo Zusammen,
ich stehe vor einem mehr oder weniger kleineren Problem.
Ich möchte über VBA nach bestimmten .PDF Dateien suchen, welche im Dateinamen eine bestimmte Nummer enthalten.
z.B.
Pfad: C:\Users
Datei: test1234-10000_424495
Suchen möchte ich nur nach der letzten Nummer z.B. 424495
Dummerweise haben die Dateien nicht immer die selbe Länge deshalb scheitert es auch mit "Right".
Gibt es so eine Art Wildcard Suche mit * o.Ä.?
Etwas ähnliches habe ich hier gefunden. Dabei werden Textdateien nach einem Wort durchsucht:

Sub findWordinTXT()
  Dim sWord As String, sPath As String, sSearchPath As String, FileName As String, InputData
  Dim AnzFound As Integer
  AnzFound = 0
  'Wort nach dem gesucht werden soll
  sWord = "424495"
  'Suche nach allen Textdateien im Verzeichnis c:\temp\xl
  sSearchPath = "C:\Users\*.txt"
  sPath = "C:\Users\"
  FileName = Dir(sSearchPath)
  If FileName <> "" Then
    Do While FileName <> ""
       Open sPath & FileName For Input As #1
       Do While Not EOF(1)
          Line Input #1, InputData
          If InStr(1, InputData, sWord) > 0 Then
            'Zeile mit Suchwort gefunden
            AnzFound = AnzFound + 1
            Sheets("Recherche").Cells(AnzFound, 1) = FileName
            Sheets("Recherche").Cells(AnzFound, 2) = InputData
          End If
       Loop
       Close #1
       'nächste Datei
       FileName = Dir
    Loop
  End If
End Sub

Vielen Dank im Voraus.

Bild

Betrifft: AW: Suche nach Datei mit Nummer in Dateiname
von: Rudi Maintaire
Geschrieben am: 11.06.2015 12:25:26
Hallo,
Gibt es so eine Art Wildcard Suche mit * o.Ä.?
wird von DIR unterstützt.
sFileName = Dir(sSearchPath &"*" &sWord &"*.pdf")
Gruß
Rudi

Bild

Betrifft: AW: Suche nach Datei mit Nummer in Dateiname
von: daru
Geschrieben am: 12.06.2015 12:08:23
Hallo Rudi,
hallo Community,
vielen Dank für die rasche Antwort. Die Wildcardsuche mit DIR hab ich soweit hinbekommen.
Nun hapert es beim Kopieren der gesuchten Dateien.
Ich habe eine Schleife gebastelt um alle Dateien mit dem Suchkriterium zu suchen und direkt in einen neuen Ordner zu kopieren. Interessanterweise spuckt mir Excel aber eine Fehlermeldung aus.
Laufzeitfehler 52:
Dateiname oder -nummer falsch
Der Code sieht im Moment so aus


Sub testdir()
    
    Ordnerstamm = "I:\Technik Pumpen\SSP Prüfprotokolle\SSP Prüfprotokolle 2015  2016\"
    GesuchteDatei = Range("A2")
    Zielordner = "I:\_ABT_Dokumentation\03 AB\"
    datei = Dir(Ordnerstamm & GesuchteDatei & "*.pdf")
    
    Do While datei <> ""
    'Debug.Print datei
    
    datei = Dir
    'Debug.Print datei
    
    GanzeDatei = Ordnerstamm & datei
    
    FileCopy GanzeDatei, Zielordner
    'Debug.Print GanzeDatei
    Loop
    
End Sub
Der Pfad zur ganzen Datei stimmt allerdings, wenn ich ein Debug.Print GanzeDatei mache:
I:\Technik Pumpen\SSP Prüfprotokolle\SSP Prüfprotokolle 2015 2016\BKP024487-70000_422379-422380-422381.pdf
Übersehe ich hier etwas?
Ich weiß, das ganze könnte man auch über einen Array lösen ;)
Vielen Dank im Voraus.

Bild

Betrifft: AW: Suche nach Datei mit Nummer in Dateiname
von: Rudi Maintaire
Geschrieben am: 12.06.2015 12:15:25
Hallo,

Sub testdir()
    
    Ordnerstamm = "I:\Technik Pumpen\SSP Prüfprotokolle\SSP Prüfprotokolle 2015  2016\"
    GesuchteDatei = Range("A2")
    Zielordner = "I:\_ABT_Dokumentation\03 AB\"
    datei = Dir(Ordnerstamm & GesuchteDatei & "*.pdf")
    
    Do While datei <> ""
    'Debug.Print datei
    
    GanzeDatei = Ordnerstamm & datei
    
    FileCopy GanzeDatei, Zielordner & datei
    'Debug.Print GanzeDatei
    
    datei = Dir
    'Debug.Print datei
    Loop
    
End Sub

Gruß
Rudi

Bild

Betrifft: AW: Suche nach Datei mit Nummer in Dateiname
von: daru
Geschrieben am: 12.06.2015 12:17:10
Du bist der Beste, Rudi! Vielen Dank :D

Bild

Betrifft: AW: Suche nach Datei mit Nummer in Dateiname
von: daru
Geschrieben am: 16.06.2015 13:41:49
Hallo Zusammen,
nochmal eine kurze Frage.. Gibt es auch die Möglichkeit Unterordner miteinzubeziehen?
Dankeschön im Voraus

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Suche nach Datei mit Nummer in Dateiname"