Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Verzeichnisnamen auslesen

Forumthread: Verzeichnisnamen auslesen

Verzeichnisnamen auslesen
19.08.2004 10:47:01
Jens
Hallo,
ich hab´ folgendes Prob. Ich möchtte die Namen von Verzeichnissen auslesen. Auf CD/DVD befinden sich mehrere Verzeichnisse. zB:
D:\
[Schriftwechsel]
[Finanzen]
...
und diese sollen so in der Excel Arbeitsmappe untereinander erscheinen. Es wird nur die erste Ebene benötigt, also was für Unterverzeichnisse der Ordner Finanzen noch hat ist irrelevant. Muss dass ganze für über 100 CDs machen, da lohnt sich wohl ein Makro ;-)
THX
Jens
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verzeichnisnamen auslesen
Jens
Moin Namensvetter!
Mal schnell: Es gibt das Prog "Where is it?" (www.whereisit-soft.com) mit dem du Verzeichnisse inkl. Inhalte auslesen und deine dann angelegten Kataloge exportieren kannst - u. a. nach Excel. Äußerst vielseitig.
VBA-mäßig muss ich z.z. passen.
Gruß,
Jens
AW: Verzeichnisnamen auslesen
19.08.2004 13:27:21
nighty
hi jens :)
wie gewuenscht :)
gruss nighty
Option Explicit
Private Type BrowseInfo
hwndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pIDList As Long, ByVal lpBuffer As String) As Long
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
Dim Verzeichnisse()
Dim Dateien()
Dim Anzdateien As Long
Sub Einlesen()
Dim neueordner
Dim Ordnername
Dim Pfad1 As String
Dim Obergrenze As Long
Dim Anzordner As Long
Dim i As Long
Const cVerzeichnistiefe = 1
Dim intVerzeichnistiefe As Integer
Dim Start As Long
Dim lzeile
Rem der zu untersuchende pfad bzw. laufwerk
Ordnername = "C:"
If Ordnername = False Then Exit Sub
ChDir Ordnername
ChDir ".."
If Ordnername "" Then
Anzdateien = 0
intVerzeichnistiefe = 0
Pfad1 = Ordnername
If Right(Ordnername, 1) "\" Then Pfad1 = Pfad1 & "\"
ReDim Verzeichnisse(0)
Verzeichnisse(0) = Pfad1
Obergrenze = UBound(Verzeichnisse)
ReDim Dateien(0)
Rekursion:
For i = Start To Obergrenze
Verzeichnisse_suchen Verzeichnisse(i), Obergrenze
intVerzeichnistiefe = intVerzeichnistiefe + 1
Start = Start + 1
Obergrenze = UBound(Verzeichnisse)
If intVerzeichnistiefe intVerzeichnistiefe = intVerzeichnistiefe - 1
Next
Anzordner = Obergrenze + 1
If Anzordner = 0 Then
MsgBox "Es gibt nichts zu tun!", vbInformation + vbOKOnly, "Keine Ordner"
Else
For i = 0 To Anzordner - 1
neueordner = Verzeichnisse(i)
lzeile = lzeile + 1
Cells(lzeile, 1) = neueordner
Next
End If
End If
End Sub

Private Sub Verzeichnisse_suchen(ByVal Pfad As String, ByVal Arraygrenze As Long)
Dim Name1 As String
Name1 = Dir(Pfad, vbDirectory)
Do While Name1 <> ""
If Name1 <> "." And Name1 <> ".." Then
If (GetAttr(Pfad & Name1) And vbDirectory) = vbDirectory Then
Arraygrenze = Arraygrenze + 1
ReDim Preserve Verzeichnisse(Arraygrenze)
Verzeichnisse(Arraygrenze) = Pfad & Name1 & "\"
End If
End If
Name1 = Dir
Loop
End Sub

Anzeige
AW: Verzeichnisnamen auslesen
19.08.2004 18:16:14
Jens
DANKE NIGHTY!
Ganz gross :-) es klappt...
Greetz
Jens
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige