Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1836to1840
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

Dateien Ordner prüfen und Listbox

Dateien Ordner prüfen und Listbox
15.07.2021 22:27:58
Peter
Hallo,
kann mir jemand sagen, warum ich in der Listbox nicht mehr meine PDF Dateien aufgelistet bekomme,
wenn ich vorher prüfe, ob das Verzeichnis überhaupt vorhanden ist?

Sub Test()
DIm sPfad As String
DIm sDatei As String
sPfad = "C:\Ablage\Dokumente\"
sDatei = Dir(sPfad & "*.pdf")
ListBox2.ColumnCount = 2
ListBox2.ColumnWidths = "0cm;10cm"
If Dir(sPfadAkte, vbDirectory) = NullString Then
With ListBox2
.AddItem
.List(.ListCount - 1, 0) = ""
.List(.ListCount - 1, 1) = "Kein Ordner gefunden. Bitte erst Ordner anlegen."
End With
Else
'Wenn Ordner vorhanden, aber keine Dateien im Ordner:
If sDatei = Nullstring Then
With ListBox2
.AddItem
.List(.ListCount - 1, 0) = ""
.List(.ListCount - 1, 1) = "Kein Dokumente hinterlegt."
End With
Else
'Wenn Dateien im Ordner verfügbar sind, dann alle Dateien darin anzeigen:
Do While sDatei  ""
With ListBox2
.AddItem
.List(.ListCount - 1, 0) = sPfadAkte
.List(.ListCount - 1, 1) = sDatei
sDatei = Dir()
End With
Loop
End If
End If
End Sub
Was müsste ich ändern, damit er mir erst prüft, ob der Ordner sPfad überhaupt vorhanden ist. Danach soll er prüfen, ob PDF DAteien in dem Ordner sind, und als letze dann die Dateien auflisten, die im Ordner sind.
Danke für Eure Hilfe.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateien Ordner prüfen und Listbox
15.07.2021 22:33:10
Peter
Wenn ich die Prüfung vorab mit dem Ordner weglasse, funktioniert die Ausgabe der Dateien einwandfrei. Wenn ich sie wie in Beitrag 1 einbaue, gibts n Kudelmuddel mit Verzeichnissen... und 1 Datei

Sub Test()
DIm sPfad As String
DIm sDatei As String
sPfad = "C:\Ablage\Dokumente\"
sDatei = Dir(sPfad & "*.pdf")
ListBox2.ColumnCount = 2
ListBox2.ColumnWidths = "0cm;10cm"
'Wenn Ordner vorhanden, aber keine Dateien im Ordner:
If sDatei = Nullstring Then
With ListBox2
.AddItem
.List(.ListCount - 1, 0) = ""
.List(.ListCount - 1, 1) = "Kein Dokumente hinterlegt."
End With
Else
'Wenn Dateien im Ordner verfügbar sind, dann alle Dateien darin anzeigen:
Do While sDatei  ""
With ListBox2
.AddItem
.List(.ListCount - 1, 0) = sPfadAkte
.List(.ListCount - 1, 1) = sDatei
sDatei = Dir()
End With
Loop
End If
End Sub

Anzeige
AW: Dateien Ordner prüfen und Listbox
15.07.2021 22:38:20
Peter
sPfadAkte soll nur sPfad heissen! Daran lag es leider auch nicht...
AW: Dateien Ordner prüfen und Listbox
16.07.2021 06:12:28
ralf_b

sDatei = Dir(sPfad & "*.pdf")  'hier erhält eine Variable einen Wert zur späteren Nutzung
If Dir(sPfadAkte, vbDirectory) = NullString Then  'hier nicht
hast du dich mal gefragt warum das letzte Dir() ohne Parameter funktioniert? Es kooperiert mit dem Vorherigen.
im Übrigen gibt es doch ne Menge funktionierende Codes, gerade für Verzeichnis durchforsten. Mußt das Rad nicht neu erfinden.
AW: Dateien Ordner prüfen und Listbox
16.07.2021 06:18:02
Peter
Ja dass es an diesem dir() liegt, hab ich mir fast gedacht… Aber was muss ich in dem Code dann ändern, damit er läuft?
Klar gibts hier ne Menge der Codes zum durchforsten, hab ihn ja auch daher. Nur leider keiner, der erst das Verzeichnis, dann die Datei prüft … vorallem verstehe ich nicht , warum es im einen Code läuft, im anderen nur eine If Schleife mehr drinnen ist, und dann nicht läuft ..
Anzeige
AW: Dateien Ordner prüfen und Listbox
16.07.2021 06:57:03
Svenja
Habs mit deinem Denkanstoß hinbekommen. Die sDatei = darf erst nach dem ersten IF Block deklariert werden. Warum auch immer. Danke

Sub Test()
DIm sPfad As String
DIm sDatei As String
sPfad = "C:\Ablage\Dokumente\"
sDatei = Dir(sPfad & "*.pdf")
ListBox2.ColumnCount = 2
ListBox2.ColumnWidths = "0cm;10cm"
If Dir(sPfad, vbDirectory) = NullString Then
With ListBox2
.AddItem
.List(.ListCount - 1, 0) = ""
.List(.ListCount - 1, 1) = "Kein Ordner gefunden. Bitte erst Ordner anlegen."
End With
Else
'Wenn Ordner vorhanden, aber keine Dateien im Ordner:
sDatei = Dir(sPfad & "*.pdf")                       ' Das sDatei darf erst hier zugeordnet werden - Warum auch immer
If sDatei = Nullstring Then
With ListBox2
.AddItem
.List(.ListCount - 1, 0) = ""
.List(.ListCount - 1, 1) = "Kein Dokumente hinterlegt."
End With
Else
'Wenn Dateien im Ordner verfügbar sind, dann alle Dateien darin anzeigen:
Do While sDatei  ""
With ListBox2
.AddItem
.List(.ListCount - 1, 0) = sPfad
.List(.ListCount - 1, 1) = sDatei
sDatei = Dir()
End With
Loop
End If
End If
End Sub

Anzeige
AW: Dateien Ordner prüfen und Listbox
16.07.2021 07:04:11
ede
Guten Morgen Peter,

sPfad = "C:\Ablage\Dokumente\"
If Dir(sPfad)  "" Then
With ListBox2
.AddItem
.List(.ListCount - 1, 0) = ""
.List(.ListCount - 1, 1) = "Kein Ordner gefunden. Bitte erst Ordner anlegen."
End With
Else
sDatei = Dir(sPfad & "*.pdf")
'Wenn Ordner vorhanden, aber keine Dateien im Ordner:
If sDatei = Nullstring Then
With ListBox2
.AddItem
End If
gruss
ede
AW: Dateien Ordner prüfen und Listbox
16.07.2021 07:45:42
Peter
Hallo Ede,
Danke für deinen Beitrag.. genau so hab ich es jetzt gemacht. Kannst du mir noch sagen, warum man das Sdatei erst im zweiten if Block definiert ? Hatte es vor allen If abfragen und dann kam dieses durcheinander
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige