Excel Pfade aus Explorer

Hallo zusammen,

um es gleich vorneweg zu sagen: ich habe mit dem, was ich gleich tun möchte bisher noch recht wenig Erfahrungen gesammelt und deshalb mag sich meine Fragestellung leicht diffus klingen :wink:

Und zwar habe ich im Explorer eine Ordnerstruktur, wobei natürlich in jedem Ordner auch ein paar Dateien sind. Nun möchte ich das gerne in Excel kopieren (also nur den Pfad, nicht die Datei), so daß das wie folgt aussieht:

 A B C
1 Pfad/Ordner\_1 Datei\_1 Kommentar, von Hand 
2 Pfad/Ordner\_1 Datei\_2 Kommentar, von Hand 
3 Pfad/Ordner\_1 Datei\_3 Kommentar, von Hand 
4 Pfad/Ordner\_2 Datei\_1 Kommentar, von Hand 

Und da das ziemlich viele Pfade und Dateien sind, will ich das nicht von Hand machen und hab den Eindruck, daß das doch „irgendwie“ gehen muß. Nur wie? Ich fürchte, ich muß da ein wenig in VBA dichten, damit er den Ordner wirklich Unterverzeichnis für Unterverzeichnis durchgeht. Und wenn ich ein zumindest ähnliches Progrämmlein hätte, könnte ich da sicher weiterbasteln… Gibt’s sowas zufällig irgendwo? Ach ja - primstens wäre noch wenn er die Geschichte mit „Datei_1“ als Hyperlink machen könnte (da weiß ich wie das von Hand geht, aber durch die Masse an Dateien wäre das automatisch einfach eleganter).

Schon jetzt vielen Dank sagt

Petzi

Hi Petzi,
das Zauberwort in VBA heißt FSO = FileSystemObject. Ich habe dir mal ein kleines Beispiel gebastelt:

Public zeile As Long

Private Sub Workbook_Open()
zeile = 1

ÜbertrageAlleDateien („c:“)
End Sub

Private Sub ÜbertrageAlleDateien(ByVal pfad As String)
Dim sf As Folder, fo As Folder
Dim fi As File
Dim fso As FileSystemObject

On Error Resume Next

Set fso = New FileSystemObject
Set fo = fso.GetFolder(pfad)

For Each fi In fo.Files
ActiveSheet.Cells(zeile, 1) = fo.Path
ActiveSheet.Cells(zeile, 2) = fi.Name
zeile = zeile + 1
Next
For Each sf In fo.SubFolders
ÜbertrageAlleDateien (fo.Path & „“ & sf.Name)
Next
End Sub

Ich hab einfach mal das Workbook-Open-Ereignis genommen, kannst natürlich auch ein anderes Ereignis wählen. Natürlich kannst Du statt „c:“ auch einen Pfad hinschreiben, z.B. „c:\Bilder“. Durchsuchst Du ein ganzes Laufwerk, brauchst du aber den Backslash dahinter.
Und Du mußt unter „Extras“ -> „Verweise“ den Eintrag „Microsoft Scripting Runtime“ anhaken.

So, ich hoffe, das hilft Dir weiter :wink:

Viele Grüße,
Julia

Hi Petzi,
alles kein Problem, aber mehr Details sind vonnöten.
Ist „Pfad“ immer gleich? Also z.B.
C:\Meine Dateien\Meine Bilder
und da gibt es die Unterordner
Urlaub1999, Urlaub2000, Paris1998 usw.
oder ist die Pfad- und/oder Ordnerstruktur komplizierter.
Was sind das für Dateien, also die Endungen nach denen gesucht werden sollen?
Gruß
Reinhard

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]