Also ich hab mal rumgesucht und diesen Code gefunden
Sub Dateien_eines_Ordners_Auflisten()
Dim lngZeile As Long
Dim objFileSystem As Object
Dim objVerzeichnis As Object
Dim objDateienliste As Object
Dim objDatei As Object
Set objFileSystem = CreateObject("scripting.FileSystemObject")
Set objVerzeichnis = objFileSystem.GetFolder("Pfad zum gewünschten Ordner angeben")
Set objDateienliste = objVerzeichnis.Files
lngZeile = 2
For Each objDatei In objDateienliste
If Not objDatei Is Nothing And Right(LCase(objDatei.Name), 4) = ".pdf" Then
ActiveSheet.Cells(lngZeile, 2) = objDatei.Name
lngZeile = lngZeile + 1
End If
Next objDatei
End Sub
Dieser Code liest mir alle PDFs aus einem Ordner raus und listet sie mir im Excel untereinander auf. Soweit so gut. Jetzt muss ich noch die Dateinamen als Links umwandeln. (Versuche ich selber raus zu bekommen) Ich habe einem CommandButton den Code zugewiesen und ihn "Aktualisieren" genannt. Mit der Idee, dass wenn ich draufklicke sich die Liste aktualisiert.
Meine Frage jetzt:
Wenn ich nun z.B. 2 PDFs aus dem Ordner lösche und das programm wieder laufen lasse, dann überschreibts einfach die "alte" liste im Excel, ergo habe ich immer noch die volle Anzahl an PDFs angezeigt, obwohl 2 gelöscht worden sind. Wie kann ich es anpassen, dass wenn ich die Liste "aktualisiere" im Excel nur die Dateien stehen, die wirklich im Ordner vorhanden sind? Das programm müsste also erkennen, dass nach dem letzten ausgelesenen Dateinamen alles andere nachfolgende in der Zeile gelöscht werden soll.
Wäre sehr dankbar für eure Hilfe.
|