Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
328to332
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
328to332
328to332
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ordner auslesen mit Dir()

Ordner auslesen mit Dir()
28.10.2003 12:53:47
Dirk
Hallo zusammen,

ich versuche, aus einem Ordner (C:\Eigene Dateien) die Unterverzeichnisse auszulesen. Die Dateien aus einem Ordner (C:\Eigene Dateien) kann ich prima mit a = Dir(“C:\Eigene Dateien\” & „*.*“) auslesen. Aber wie kriege ich das mit Unterverzeichnissen hin? Mein jämmerlicher Versuch bisher:
a = Dir(“C:\Eigene Dateien\”, vbDirectory)
Aber so wird alles ausgelesen (obwohl ich extra „vbDirectory“ gesagt habe :(().

Diese Gelegenheit will ich auch noch nutzen um zu fragen, was in diesem Zusammenhang „.“ und „..“ (jeweils als Ergebnis von Dir()) heißt. Daraus werde ich auch nicht schlau.

Ich bin sehr dankbar für eine Antwort.
Dirk

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordner auslesen mit Dir()
28.10.2003 13:06:40
Nayus
Hallo,
mit DIR geht das nicht.

'Lösungsansatz (Angepasste Kopie aus der Online-Hilfe):


Sub ShowFolderList()
Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder("c:\temp\")
Set fc = f.SubFolders
For Each f1 In fc
s = s & f1.Name
s = s & vbCrLf
Next
MsgBox s
End Sub


Viel Erfolg,
Nayus
AW: Ordner auslesen mit Dir() - noch offen -
28.10.2003 13:47:43
Guido Palacios
Hi,

wenn Dir mit dem Attributsparameter 16 verwendet wird liefert es unter anderem auch die Verzeichnisnamen "." und ".."! Dies Verzeichnisnamen sind für die interne Verwaltung der Verzeichnisstruktur von Bedeutung.

Wie ich diese verwende bzw. berücksichtige ist mir selber auch noch unklar!

Grüße
Guido P.
Anzeige
AW: Ordner auslesen mit Dir()
28.10.2003 14:29:43
Reinhard
Hi Dirk,
als Bill Gates damals einem armen Studenten ein Programm für 1500$ abkaufte, damit zu IBM ging und die Mutter aller Verträge abschloss, gabs (glaub) schon bei Verzeichnissen diese "." und "..".
Mit "." ist das Verzeichnis wo man sich gerade befindet und mit ".." das übergeordnete Verzeichnis gemeint. Siehe dazu das nachfolgende Makro.
In Dos kann/konnte man also mit CD.. ein Verzeichnis höhergehen.
Für was man "." benutzen kann ist mir unklar. Ich glaub es gab mal die Möglichkeit in Dos -Batches zu prüfen mittels "if exists", was normal nur für dateien gilt, in dem man mit "If exists==VerzName\." das Vorhandensein von "." abprüfte, zu prüfen ob das Verzeichnis VerzName existiert.

Jedenfalls ist es egal was man nimmt, ob:
a = Dir("C:\Eigene Dateien\" & "*.*")
a = Dir("C:\Eigene Dateien\.")
a = Dir("C:\Eigene Dateien\")

(Ps:was hast du denn für Gänsefüßchen? Word?)

Man kann mit Dir schon nur Verzeichnisse auflisten lasse, sofern sie keinen Dateiendung haben, also das Verzeichnis "Alle Bilder" findet man, das Verzeichnis "Alle Bilder.001"
nicht, siehe letzte While-Schleife.
Gruß
Reinhard


Sub z()
a = Dir("D:\Eigene Dateien\.", vbDirectory)
n = 1
While a <> ""
Cells(n, 1) = a
n = n + 1
a = Dir()
Wend
a = Dir("D:\Eigene Dateien\", vbDirectory)
n = 1
While a <> ""
Cells(n, 3) = a
n = n + 1
a = Dir()
Wend
a = Dir("D:\Eigene Dateien\..", vbDirectory)
n = 1
While a <> ""
Cells(n, 5) = a
n = n + 1
a = Dir()
Wend
a = Dir("D:\Eigene Dateien\*.", vbDirectory)
n = 1
While a <> ""
Cells(n, 7) = a
n = n + 1
a = Dir()
Wend
End 

Sub

Anzeige
siehe auch bei XL: ChDir ".." o.w.T.
28.10.2003 14:32:25
Reinhard
Gruß
Reinhard
Danke an alle, ihr seid sehr hilfreich! (nT)
28.10.2003 21:11:33
Dirk
a

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige