[Excel]: Findet Dateien beim Ordner auslesen nicht

Sebastian Thalhammer

Erfahrenes Mitglied
Hallo zusammen!

Ich versuche einen Ordner auszulesen und alle darin befindlichen PDFs in der Exceltabelle anzuzeigen. Code dazu habe ich schon gefunden, doch Excel findet partout keine einzige PDF da drinnen.
PHP:
 Dim StDateiname As String
    Dim Dateiform As String
    Dim I As Long, TotFiles As Long
    Dim Suchpfad As String
    Dim OldStatus As Variant
    Suchpfad = "C:\Test"
    Dateiform = "*.pdf"
    Application.ScreenUpdating = True
    OldStatus = Application.StatusBar
    With Application.FileSearch
        .LookIn = Suchpfad
        .Filename = Dateiform
        MsgBox (TotFiles)
        If .Execute() > 0 Then
            TotFiles = .FoundFiles.Count
            Application.StatusBar = "Total " & TotFiles & " gefunden"
            For I = 1 To .FoundFiles.Count
                Application.StatusBar = "Datei: " & I & " von " & TotFiles
'               ergänzt Hyperlink, Dateigröße und Dateidatum
'               Dateiname abtrennen
                For InI = Len(.FoundFiles(I)) To 1 Step -1
               If Mid(.FoundFiles(I), InI, 1) = "\" Then
                        StDateiname = Mid(.FoundFiles(I), InI + 1, Len(.FoundFiles(I)) - InI + 2)
                        Exit For
                    End If
                Next InI
                Cells(I, 1) = .FoundFiles(I)
'                ActiveSheet.Hyperlinks.Add Anchor:=Cells(I, 1), _
'                    Address:=.FoundFiles(I), TextToDisplay:=StDateiname    ' Hyperlink
            Next I
        End If
    End With
    Application.StatusBar = OldStatus
    Application.ScreenUpdating = True

Ich weiß aber keinen Grund woran das liegen könnte. Vielleicht weiß hier wer Rat:
 
Wonach kontrollierst du ob es geht oder nicht, nach dem was MsgBox (TotFiles) anzeigt?

Da kommt immer 0 raus, weil du erst ".Execute" ausführen musst damit die Suche durchgeführt wird.
Bei mir zumindest wird der Code korrekt ausgeführt.
 
Hi!

Danke erstmal für die antwort. Zugegeben die Msgbox ist eine Zeile zu früh platziert, das ist richtig.

Finden tu ich damit aber trotzdem nichts. Beim durchgehen des Codes (F8) springt er immer über die If Abfrage, da das ergebnis der suche immer 0 ist. Kann es irgendwie am Pfad liegen, dass der falsch interpretiert wird?
 
Es muss an etwas anderem als am Code liegen. Ich war vorhin zu Hause und habe es da getestet. Jetzt bin ich in der Firma und auch hier läuft es ohne Probleme.

Habe eben einfach hier unter "C" den Ordner "Test" angelegt, ein paar Dateien reinkopiert (sowohl PDF als auch andere) und deinen Code 1 zu 1 gestartet.

Es geht! Welche Excel Version verwendest du, ich habe es immer mit 2000 getestet. Eventuell liegt der Fehler hier!?
 
Office 2003 SP3. Das Blöde ist eben, dass ich es ebenfalls bereits früher auf ähnliche Weise zustande gebracht habe und jetzt funktioniert es überhaupt nicht. Vermute leider ebenfalls dass der Fehler woanders liegt allerdings ist absolut nicht ersichtlich für mich, wo genau die Ursache liegt.
 

Neue Beiträge

Zurück