Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
680to684
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
680to684
680to684
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Verzeichnisse lesen

Verzeichnisse lesen
14.10.2005 07:38:09
Wolgang
Wie kann man die Unterverzeichnisse und Dateien eines Ordners (z.B.: c:\Eigene Datein) in eine Tabelle einlesen?

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verzeichnisse lesen
14.10.2005 07:42:07
Christian
Hi
Hiermit kannst du die Dateien einlesen, aber keine unterordner glaub ich.
Weist du viell wie man dann die extensions wegbringt mit einem Makro, das wäre nämlich für mich sehr interessant.
Du musst in diesem Fall den Verzeichnisnamen in B1 eintragen und schon läufts
Schöne Grüße aus Österreich
Christian

Sub DateinamenAusVerzeichnisAuslesen()
Dim laufendeZahl As Integer
With Application.FileSearch
.LookIn = Range("B1").Value 'Hier kannst du die Zelle angeben wo du den Verzeichnisnamen eingeben willst
.Filename = "*.*" ' Hier kannst du die Suchfunktion aussuchen (*.xls, *.doc, ...)
.Execute
For laufendeZahl = 1 To .FoundFiles.Count
Cells(laufendeZahl + 1, 1).Value = Dir(.FoundFiles(laufendeZahl))
Next laufendeZahl
End With
End Sub

Anzeige
AW: @Christian Verzeichnisse lesen
14.10.2005 11:01:27
Wolfgang
Danke Christian, jetzt läuft zumindest etwas. Also mein Problem bleiben aber die Ordner. Ich kann mir zwar alle Dateien in allen Unterverzeichnissen anzeigen lassen, aber mich interessiert im Grunde nur, welche Verzeichnisse im angegebenen ordner da sind.
Die Struktur sieht ungefähr so aus:
-c:\.. ....\Kunden \ Müller \ Korrespondenz\Eingang
-c:\.. ....\Kunden \ Müller \ Korrespondenz\Ausgang
-c:\.. ....\Kunden \ Müller \ Rechnungen
-c:\.. ....\Kunden \ Müller \ Daten.xls =-------- Diese Tabelle möchte ich anzeigen,
-c:\.. ....\Kunden \ Maier \ Daten.xls.............ohne jedoch die Kundennahmen zu Kennen
-c:\.. ....\Kunden \ Meir \ Daten.xls
-c:\.. ....\Kunden \ Mayer \ Daten.xls
-usw.
Hat jemand eine Ahnung wie ich jetzt ganz gezielt nur den Kundennahmen angezeigt kriege?
Hmm, und wie sieht es mit der Geschwindigkeit aus, wenn ich ca. 300 Kundenverzeichnisse
Bei den Versuchen hatte ich bei meinem lokalen Verzeichnis schon ca. 5 sek. nach .execute warten müssen bis es weiter ging. Lokal habe ich ca. 10 Kundenverzeichnisse mit ca. 4000 einzelnen Dateien. Das Problem scheint zu sein, dass alle Uneterverzeichnisse mit untersucht werden.
Anzeige
AW: Verzeichnisse lesen
14.10.2005 07:44:13
köbi
Hi wolgang
erst mal sagt man guten tag oder so
dann die Frage
und dann ein Gruss
aber bei deinem Level
Gruss
köbi
AW: Verzeichnisse lesen
14.10.2005 07:46:40
Christian
Hi Köbi
Weist du viell wie ich aus den eingelesenen Dateinamen die Extensions aus jeder zelle löschen kann? Bin nämlich noch nicht drauf gekommen, und mein VB ist nicht wirklich gut.
Schöne Grüße aus Österreich
Christian
Sorry, nee
14.10.2005 08:05:12
köbi
Hi Christian
bin selbst noch unerfahren und hab keine Ahnung
gruss
köbi
@ Christian
14.10.2005 08:07:18
Heiko
Hallo Christsian,
ganz brutal, ohne Kontrolle ob ne Extension dran ist.
Cells(laufendeZahl + 1, 1).Value = Left(Dir(.FoundFiles(laufendeZahl)), _
Len(Dir(.FoundFiles(laufendeZahl))) - 4)
Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
AW: @ Christian
14.10.2005 08:23:42
Christian
Hi Heiko
Recht herzlichen Dank für deine Hilfe, hat funktioniert.
Hier nochmal der Code, sollte ihn jemand anderer benötigen.
Wünsch Dir noch ein Schönes Wochenende
Christian

Sub DateinamenAusVerzeichnisAuslesen()
Dim laufendeZahl As Integer
With Application.FileSearch
.LookIn = Range("B1").Value ' Hier kannst du die Zelle angeben wo du den Verzeichnisnamen eingeben willst
.Filename = "*.*" ' Hier kannst du die Suchfunktion aussuchen (*.xls, *.doc, ...)
.Execute
For laufendeZahl = 1 To .FoundFiles.Count
'Cells(laufendeZahl + 1, 1).Value = Dir(.FoundFiles(laufendeZahl)) 'mit Extension
Cells(laufendeZahl + 1, 1).Value = Left(Dir(.FoundFiles(laufendeZahl)), _
Len(Dir(.FoundFiles(laufendeZahl))) - 4) 'ohne Extension
Next laufendeZahl
End With
End Sub

Anzeige
@Köbi AW: Verzeichnisse lesen
14.10.2005 09:31:30
Wolfgang
Tschhuldige, ich war genervt. Schau auf die Urzeit vom 1. Eintrag, zieh noch mal 2 Stunden ab, dann hast du die Uhrzeit, seit der ich heute dem Problem nachhänge. Ich war auf dem selben Lösungsweg, aber beim Aufruf von .execute bekam ich eine Fehlermeldung. Erst nachdem mir die Idee kam Excel einmal neu zu starten, ging's wieder. Ich hatte vorher .Filetype so was wie -1 übergeben, das hätte ich wohl besser lassen sollen.
Also ich hoffe du akzeptierst hiermit meine Entschuldigung und ich wünsch dir und dem Herder-Team einen tollen Freitag und ein wünderschönes Wochenende!
Tschüss, Wolfgang
Anzeige
AW: Verzeichnisse lesen
14.10.2005 15:15:32
Wolfgang
Tja, die Antwort habe ich mir jetzt selbst gegeben. Hat jetzt zwar ein weilchen gedauert, aber letztendlich geht der Punkt an mich.

Sub test()
ShowFolderList ("Kompletter Pfad des aufzulistenden Ordners")
End Sub


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

Das Beispiel steht fast so in der Excel-Hilfe. Nur 1. findet man es nicht (Kompliment an Microsoft) und 2. ist das Objekt f.files mit f.subfolders zu ersetzten (weiters Kompliment an Microsoft). Dann mach das Beispiel genau das, was im Hilfetext dazu geschrieben steht.
@Christian
Ich kann die leider kein komplettes beispiel schreiben, aber die Dateiendungen lassen sich mit der Funktion GetExtensionName(Pfad) bestimmmen. Damit dürfte es dann auch ein leichtes sein, mit left() vom Pfad abzuziehen. Zufälligerweise sind nicht alle Extensions 4 Zeichen lang!
So und bevor sich Köbi wieder beklagt, schönes Wochenende an alle die hier reinschauen.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige