Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Verzeichnisinhalte nur teilweise | Herbers Excel-Forum


Betrifft: Verzeichnisinhalte nur teilweise von: Klaus Lang
Geschrieben am: 04.12.2009 10:37:30

Hallo Excelfreunde,

eine aus diesem Forum stammende, u.a. Prozedur habe ich etwas abgeändert. Sie soll alle Dateien in einer Tabelle auflisten. Sie listet z. B. alle doc- und xls-Dateien auf aber nicht z.B. xlk-Dateien.
Mein Wunsch ist natürlich alle aufzulisten.
Ich bitte um Unterstützung und bedanke mich schon mal vorab.

Sub Dateien_einlesen()
Dim I As Integer, Pfad As String
Dim Ws1 As Worksheet

  On Error Resume Next
  Set Ws1 = Sheets("Ws1")
  Pfad = "C:\LöschTest\"
  If Err > 0 Then
    MsgBox Error
    Exit Sub
  End If
  On Error GoTo 0
  Ws1.Cells.Clear
  With Application.FileSearch
    .NewSearch
    .LookIn = Pfad
    ' Dateiendung oder auch Dateinamensbestandteile _
      (auch * und ? möglich) definieren WIE?
    .Filename = "?*.*" 'Trim(Range("B3").Value)
    ' Unterverzeichnisse mit berücksichtigen
    .SearchSubFolders = True
    If .Execute > 0 Then
      For I = 1 To .FoundFiles.Count
        Ws1.Cells(I, 1) = .FoundFiles(I)
      Next I
    Else
      MsgBox "keine entsprechenden Dateien gefunden"
    End If
  End With
Exit Sub
'  Ws1.Columns("A:A").Replace What:=Ws1.Range("B2") & "\", Replacement:="", LookAt:=xlPart, _
'  SearchOrder:=xlByColumns, MatchCase:=False
'  Ws1.Columns("A:A").Sort Key1:=Ws1.Range("A1"), Order1:=xlAscending, Header:=xlNo
End Sub

  

Betrifft: AW: Verzeichnisinhalte nur teilweise von: Ewald
Geschrieben am: 05.12.2009 00:34:23

Hallo Klaus,
gib mal in die With-Anweisung nach der Zeile
.Filename = "?*.*" 'Trim(Range("B3").Value)
noch die Zeile ein:
.FileType = msoFileTypeAllFiles

Gruss Ewald


  

Betrifft: AW: Verzeichnisinhalte nur teilweise von: Klaus Lang
Geschrieben am: 05.12.2009 12:52:45

Danke Ewald,

aber mit .FileType = msoFileTypeAllFiles rödelt mein PC ohne Ende.
Ebenso mit *.* und *.xl? . Mit *?*.* bringt er alles außer *.xlk . Warum????


Gruß Klaus


  

Betrifft: AW: Verzeichnisinhalte nur teilweise von: Ewald
Geschrieben am: 05.12.2009 16:47:27

Hallo Klaus,
also bei mir geht es mit *.xl?
Damit kommen alle .xl?
Beispiel:
D:\Desktop_alt\Jugendausbildung Liste 01[1].01.2007.xlk
D:\Desktop_alt\Jugendausbildung Liste 01[1].01.2007.xlk.lnk
D:\Desktop_alt\Jugendausbildung_Liste_31.12.2007.xls
D:\Desktop_alt\Jugendausbildung_Liste_31.12.2007.xls.lnk
D:\Desktop_alt\Nicht verwendete Desktopverknüpfungen\Sicherungskopie von Dateiliste.xlk

Aber schau mal über den Windows-Explorer nach, ob diese Sicherungskopien (XLK) evtl. versteckt angezeigt werden.
Lege mal für einen Test ein neues Pfad an mit wenig Dateien und deklariere dies in der Variable "Pfad" .
Mein Pc (2000Mhz) braucht für 400 Dateien 3 Sek.


  

Betrifft: AW: Danke! Hat geklappt! von: Klaus Lang
Geschrieben am: 07.12.2009 11:47:59

Hallo Ewald,

Danke für Deine Bemühungen!

Habe über Deine Antwort ein Netzwerkproblem im Notebook entdeckt. Daher offensichtlich die Rödelei.
Auf dem PC funktioniert es wie bei Dir schnell und problemlos.

Gruß Klaus