Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

Mit VBA Verzeichnis durchsuchen und Datei öffnen

Betrifft: Mit VBA Verzeichnis durchsuchen und Datei öffnen von: Nihat
Geschrieben am: 13.09.2014 18:58:18

Hallo und guten Abend.

Ich bin am verzweifeln, denn ich finde einfach keine für mich einfach anzupassende VBA Lösung. Mein Problem:

Ich habe auf der Arbeit einen Ordner (mit Unterordnern), der unzählige PDF Dokumente enthält. Alle 2 Wochen kommt ein neuer Ordner mit weiteren PDFs hinzu. Diese PDF Dateien haben einen ca. 30 stelligen alpha nummerischen Namen, der im Mittelteil eine Kundennummer enthält. Diese Kundennummer kann durchaus bei mehreren Dateien vorkommen. Meine Kollegen und ich müssen täglich anhand der Kundennummer die zur Kundenakte gehörenden Unterlagen suchen und bearbeiten. Die Suche nervt und raubt uns den letzten Nerv, da wir manchmal die Unterlagen nicht finden (obwohl sie vorliegen) und ärger bekommen.

Eine VBA Lösung muss her.

Ich habe mir mit Google einige Codes zusammengesucht und bin auf eine relativ schlichte Lösung gestoßen, die ich anpassen konnte und super funktioniert.

ABER es durchsucht keine Unterordner.
HILFE..


Hier der Code:

  • Sub a_Dateisuche()
    Dim suche As String
    
    Dim Dateiname
    
    strpfad = "C:\Users\mina\Testordner\"                       ' das ist mein Testordner auf dem   _
    _
    heimischen Rechner
    suche = InputBox("Bitte den Suchbegriff eingeben")
    
    If suche = "" Then
    MsgBox "Kein Dateiname eingegeben"
    Else
    Dateiname = Dir((strpfad & "*" & suche & "*"))  'Der Dateiname ist lang und enthält in der  _
    Mitte die Kundennummer. Daher durchsuche ich nur den Mittelteil
    If Dateiname <> "" Then
    'Workbooks.Open Filename:=pfad & Dateiname
    ActiveWorkbook.FollowHyperlink strpfad & Dateiname
    Else
    MsgBox ("Sowas.... Nummer wurde ( noch ) nicht vergeben !!")
    End If
    End If
    End Sub



  • Kann mir jemand helfen das Makro so zu gestalten, dass die Unterordner auch durchsucht werden?

      

    Betrifft: AW: Mit VBA Verzeichnis durchsuchen und Datei öffnen von: Jürgen V.
    Geschrieben am: 14.09.2014 00:16:27

    Hallo Nihat,

    wäre es nicht vieeeel einfacher, die Dateien über den Windows Explorer zu suchen? Und falls Ihr den Adobe Reader verwendet noch der Tipp, dass man damit auch in Inhalten von PDF-Dateien suchen kann - nicht nur in der aktuellen, sondern auch in allen PDF-Dateien in einem Verzeichnis inkl. Unterverzeichnissen.

    Herzlichen Gruß
    Jürgen


      

    Betrifft: AW: Mit VBA Verzeichnis durchsuchen und Datei öffnen von: Adis
    Geschrieben am: 14.09.2014 02:50:36

    Hallo

    mein Vorschlag ist die Ordner auflisten und den String der PDF Dateien so zu zerlegen
    das man die Kunden Nummer aufgelistet bekommt. Denn die interessiert euch doch, oder?

    Dazu brauche ich mal ein Beispiel wie der ganze PDF Code aussieht, ab welcher Stelle
    die Kunden Nummer steht, und wie lang sie ist. Gibt es noch andere wichtige Daten?
    Gibt es nur einen Hauptordner mit allen Unter Ordnern, oder mehrere Hauptordner?

    Gruss Adis


      

    Betrifft: AW: Mit VBA Verzeichnis durchsuchen und Datei öffnen von: Nihat
    Geschrieben am: 14.09.2014 21:14:13

    Hallo Adis,

    erst einmal Danke für die Antwort :-)
    Uns interessieren die PDF Dateien zu den Kundennummern, damit wir diese finden und aufrufen können.
    In unser System wird eine Kundenakte autom. angelegt. Die dazugehörigen Daten liegen in pdf Form auf dem Server und die müssen wir manuell suchen, finden und damit weiterarbeiten :-(
    Entweder die PDF Datei(en) werden geöffnet, oder sie werden mit einem Hyperlink gelistet, so dass wir sie öffnen können. Wäre beides Super.

    Die Logik der PDF Dateiennamen kann ich morgen mitteilen.

    Es gibt auf einem Netzwerklaufwerk (nennen wir ihn mal H:) einen Ordner ("Dateien"), der wiederum mehrere Ordner mit den Dateien der jeweiligen Einspielung hat.
    Das müsste dann ein Hauptordner mit allen Unter Ordnern sein, oder?


      

    Betrifft: AW: Mit VBA Verzeichnis durchsuchen und Datei öffnen von: Gerold
    Geschrieben am: 14.09.2014 22:28:05

    Hallo Nihat

    Vieleicht hilft dir das etwas weiter.

    
    
    
    Sub Filesearch()
    Dim strDir As String, objFSO As Object, objDir As Object
    
    Set objFSO = CreateObject("scripting.filesystemobject")
    
    strDir = "C:\Users\mina\Testordner\"        'Ordner anpassen
    
    Set objDir = objFSO.GetFolder(strDir)
    Dateienausgeben objDir
    
    Set objDir = Nothing: Set objFSO = Nothing
    End Sub
    
    Sub Dateienausgeben(ByVal Ordner As Object)
    Dim DatOrd As Variant, Datei As Object
    
    For Each Datei In Ordner.Files             'Ordner
        Debug.Print Datei.Name                 'Dateiname im Direktfenster ausgeben
    Next
    
    For Each DatOrd In Ordner.SubFolders        'Unterordner
        For Each Datei In DatOrd.Files
            Debug.Print Datei.Name              'Dateiname im Direktfenster ausgeben
        Next
    Next
    
    End Sub
    
    
    
    
    Gruß Gerold

    Rückmeldung wäre nett.


      

    Betrifft: AW: Mit VBA Verzeichnis durchsuchen und Datei öffnen von: Adis
    Geschrieben am: 15.09.2014 16:30:03

    Hallo

    ich habe eine alte Datei zum Ordner auflisten auf Hyperlink geaendert.
    Bitte mal anschauen ob das für euch brauchbar ist. Würde mich sehr freuen.
    Es gibt 2 Kontroll Boxen für U-Ordner auflisten Ja/Nein und Hyperlink Ja/Nein
    Der Pfad muss in Zelle C1 angegeben werden. Man kann auch nur 1 Ordner angeben.

    Die Kunden Nummer sollte man noch auswerten und seitlich mit angeben.
    Ebenso waer es noch vorteilhafter nur die neuen Dateien aufzulisten.
    Dazu muss ich mir erst Gedanken machen wie ich das programmiere.

    https://www.herber.de/bbs/user/92644.xls

    Gruss Adis


     

    Beiträge aus den Excel-Beispielen zum Thema "Mit VBA Verzeichnis durchsuchen und Datei öffnen"