Anzeige
Archiv - Navigation
1288to1292
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 eines Ordners anzeigen lassen

Dateien eines Ordners anzeigen lassen
26.11.2012 16:43:12
Tim
Hallo an alle,
gibt es eine Möglichkeit per VBA die Dateien eines bestimmten Ordners als Liste anzeigen zu lassen, d.h. man gibt den Pfad eines bestimmten Ordners im Code oder der Tabelle vor und erzeugt dann eine Liste der Dateinamen dieses Ordners in der Tabelle ?
Freue mich über jeden Tipp dazu !
VG und vielen Dank Euch im Voraus,
Tim

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateien eines Ordners anzeigen lassen
26.11.2012 16:56:16
UweD
Hallo
so z.B.
 Sub alle_Dateien_Verzeichnis() '
Dim dlg As FileDialog, TB, SP%, ZE&
Dim Si, Ext$, Datei$
Set TB = Sheets("Tabelle1")
Set dlg = Application.FileDialog(msoFileDialogFolderPicker) 'Verzeichnis wählen
SP = 1 ' SpalteA
ZE = 1 'ab Zeile1
If dlg.Show = True Then
For Each Si In dlg.SelectedItems 'Die Abfrage für den selektierten Eintrag
Ext = "*.*"   'oder "*.xls*"
Si = IIf(Right(Si, 1) = "\", Si, Si & "\")
Datei = Dir(Si & Ext)
Do While Len(Datei) > 0
TB.Cells(ZE, SP) = Datei
ZE = ZE + 1
Datei = Dir() ' nächste Datei
Loop
Next
End If
End Sub
Gruß UweD

Anzeige
AW: Dateien eines Ordners anzeigen lassen
26.11.2012 17:01:49
Tim
Hallo Uwe,
vielen Dank für die schnelle Antwort - das ist super ! :-)
Ich brauche genau das immer für den gleichen Pfad / Ordner.
Kann man das irgendwie mit einem vorher festgelegten Pfad und Workbook_Open verbinden, so dass beim Öffnen der Tabelle die Liste automatisch erzeugt wird ?
VG und nochmals danke,
Tim

AW: Dateien eines Ordners anzeigen lassen
27.11.2012 08:15:37
UweD
Hallo
ja, geht auch.
Code muss in "DieseArbeitsmappe"
Private Sub Workbook_Open()
Dim TB, SP%, ZE&
Dim Pfad$, Ext$, Datei$
Pfad = "C:\Temp\"
Ext = "*.*"   'oder "*.xls*"
Set TB = ThisWorkbook.Sheets("Tabelle1")
SP = 1 'SpalteA
ZE = 1 'ab Zeile1
If Pfad  "" Then
With TB
.Columns(SP).ClearContents
Datei = Dir(Pfad & Ext)
Do While Len(Datei) > 0
.Cells(ZE, SP) = Pfad & Datei
ZE = ZE + 1
Datei = Dir() ' nächste Datei
Loop
.Columns(SP).EntireColumn.AutoFit
End With
End If
End Sub

gruß UweD

Anzeige
AW: Dateien eines Ordners anzeigen lassen
27.11.2012 08:48:51
Tim
Hallo Uwe,
vielen Dank dafür !
Das ist klasse und ist genau, wonach ich gesucht hatte - hätte gar nicht gedacht, dass es so auch geht ! :-)
VG und einen schönen Tag noch,
Tim

AW: Dateien eines Ordners anzeigen lassen
27.11.2012 15:56:41
Tim
Hallo Uwe,
ich habe noch einmal eine Nachfrage zu Deinem ersten Code - er funktioniert übrigens bestens:
Gibt es eine Möglichkeit, neben den Dateinamen auch weitere Daten der Dateien in die Tabelle zu übernehmen (in separaten Spalten), z.B. die Dateigröße und/oder das Datum der letzten Dateiänderung ?
VG,
Tim

Probier mal das...
27.11.2012 19:00:12
robert
Hi,
Deinen Pfad musst Du noch eintragen bei "Hier Dein Pfad"
Gruß
robert
Public Sub Dateien()
Const STRFOLDER As String = "Hier Dein Pfad" ' Anpassen
Dim objShell As Object, objFolder As Object
Dim bytIndex As Byte, intColumn As Integer, lngRow As Long
Dim varNAME, arrHeaders(37)
If Dir(STRFOLDER, 16) = "" Then
MsgBox "Der Ordner " & STRFOLDER & " wurde nicht gefunden!", 64, "Hinweis"
Exit Sub
End If
Application.ScreenUpdating = False
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(STRFOLDER)
intColumn = 1
For bytIndex = 0 To 37
arrHeaders(bytIndex) = objFolder.GetDetailsOf(varNAME, bytIndex)
Cells(1, intColumn + bytIndex) = arrHeaders(bytIndex)
Next
Rows(1).Font.Bold = True
lngRow = 2
For Each varNAME In objFolder.Items
If Right(varNAME, 3) = "xls" Then
With ActiveSheet
.Hyperlinks.Add .Cells(lngRow, 1), varNAME.Path, , , varNAME.Name
For bytIndex = 1 To 37
.Cells(lngRow, intColumn + bytIndex) = objFolder.GetDetailsOf(varNAME, bytIndex)
Next
lngRow = lngRow + 1
End With
End If
Next
Columns.AutoFit
Set objShell = Nothing
Set objFolder = Nothing
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Probier mal das...
27.11.2012 19:11:30
Tim
Hallo Robert,
damit komme ich auf jeden Fall weiter !
Das ist super - vielen vielen Dank dafür ! :-)
VG und einen schönen Abend noch,
Tim

Gutes Gelingen ;-) einen ebensolchen-owT Gruß
27.11.2012 19:19:07
robert

AW: Dateien eines Ordners anzeigen lassen
27.11.2012 08:12:05
Tim
...Problem gelöst - nochmals vielen Dank !
VG,
Tim

Recherche-Archivsuche-Dateien auflisten-owT
26.11.2012 16:56:47
robert

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige