Ich würde gene wissen, ob es sowas gibt wie "alle DAteien in diesem Ordner in einer Excel-Datei auflisten" (nach dem Namen der Datei)
Gibt es sowas, hat jemand schon mal sowas gemacht?
Teil | Beschreibung |
begrüßungsformel | Erforderlich. Ein Zeichenfolgenausdruck, der den landesüblichen Geflogenheiten entspricht. Eine Auswahl möglicher Werte kann der folgenden Zeile entnommen werden. "Hallo", "Hi", "Guten Tag" Auch die Verwendung von umgangssprachlichen Angaben, wie z Bsp "Moin" oder "Tach" ist möglich. |
name | Optional. Ein Zeichenfolgenausdruck, der mit Hilfe des Argumentes begrüßungsformel die gewünschte Zielgruppe einschränkt. |
text | Erforderlich. Ein Zeichenfolgenausdruck, der Auskunft über das eigentliche Anliegen des Fragenden gibt. Der Inhalt ist frei wählbar, sollte jedoch freundlich und qualifiziert gestaltet werden. Denn eine qualifizierte Antwort erfordert eine qualifizierte Frage. |
schlussformel | Erforderlich. Ein Zeichenfolgenausdruck, der den landesüblichen Geflogenheiten entspricht. Eine Auswahl möglicher Werte kann der folgenden Zeile entnommen werden. "Ciao", "Gruß", "viele Grüße", "Tschüss" Auch hier ist die Verwendung von umgangssprachlichen Angaben, wie z Bsp "und wech..." möglich. Zusätzlich möglich ist es, dass schlussformel den eigenen Namen und/oder den Wert aus name enthält. |
Sub Dateiname
Dim StDateiname As String
Dim Dateiform As String
Dim InI As Long, TotFiles As Long
Dim Suchpfad As String
Dim OldStatus As Variant
Suchpfad = InputBox("Geben Sie den Ordner an, der durchsucht werden soll.", "Pfad definieren", Application.DefaultFilePath)
If Suchpfad = "" Then Exit Sub
Dateiform = InputBox("Geben Sie den Dateityp an der gesucht werden soll", "Dateierweiterung", "*.xls")
If Dateiform = "" Then Exit Sub
Application.ScreenUpdating = True
OldStatus = Application.StatusBar
' neue Tabelle anlegen
Sheets.Add After:=Worksheets(Worksheets.Count)
With Application.FileSearch
.LookIn = Suchpfad ' Suchverzeichnis
.SearchSubFolders = True ' suchen auch in Unterverzeichnis
.Filename = Dateiform
If .Execute() > 0 Then
TotFiles = .FoundFiles.Count
Application.StatusBar = "Total " & TotFiles & " gefunden"
For InI = 1 To .FoundFiles.Count
Application.StatusBar = "Datei: " & InI & " von " & TotFiles
' ergänzt Hyperlink, Dateigröße und Dateidatum
' Dateiname abtrennen für alle Versionen unte Xp
' For InI = Len(.FoundFiles(InI)) To 1 Step -1
' If Mid(.FoundFiles(InI), InI, 1) = "\" Then
' StDateiname = Mid(.FoundFiles(InI), InI + 1, Len(.FoundFiles(InI)) - InI + 2)
' Exit For
' End If
' Next InI
' Dateiname abtrennen ab XP
StDateiname = Mid(.FoundFiles(InI), InStrRev(.FoundFiles(InI), "\") + 1)
ActiveSheet.Hyperlinks.Add Anchor:=Cells(InI, 1), _
Address:=.FoundFiles(InI), TextToDisplay:=StDateiname ' Hyperlink
Cells(InI, 2) = FileLen(.FoundFiles(InI)) ' Dateigröße
Cells(InI, 3) = FileDateTime(.FoundFiles(InI)) ' Dateidatum
Next InI
End If
End With
Application.StatusBar = OldStatus
Application.ScreenUpdating = True
End Sub
Private Sub Ordner_auslesen()
Dim i As Integer
With Application.FileSearch
.LookIn = "C:\2005\"
.SearchSubFolders = False 'auf True setzen wenn Unterordner mit durchsucht werden sollen
.Filename = "*.*"
.Execute
For i = 1 To .FoundFiles.Count
Cells(i + 1, 1).Value = Dir(.FoundFiles(i))
Next i
End With
End Sub